正则表达式匹配文本
的多个组,我不知道这是可能的正则表达式,但我想是这样......正则表达式匹配文本
输入:
a="abc1" ...some stuff...
a="def1"
...some stuff...
a="ghi1"
...some stuff...
b="123a"
...some stuff...
a="abc2"
...some stuff...
a="def2"
...some stuff...
a="ghi2"
...some stuff...
b="123b"
...some stuff...
a="abc3"
...some stuff...
a="def3"
...some stuff...
a="ghi3"
...some stuff...
b="123c"
...some stuff...
想:
match_1 = 123a match_1_1 = abc1
match_1_2 = def1
match_1_3 = ghi1
match_2 = 123b
match_2_1 = abc2
match_2_2 = def2
etc.
尝试:
a="([^"]+)"[\D\W\S]+b="([^"]+)"
This w应该得到每个部分的第一个“a = abc ...”和“b = 123 ...”,但不能将“def ...”和其他部分分组。
正则表达式的味道是JMeter中的一种,我认为它是Perl。
任何建议或评论表示赞赏, :)
回答:
这会满足您的需求?
(?:a="([^"]+)".*?)(?:a="([^"]+)".*?)(?:a="([^"]+)".*?)b="([^"]+)"
你可以看到它here on Regexr
的组是在顺序,因为它们出现在输入
组1 = ABC1
第2组= DEF1
第3组= ghi1
组4 = 123a
您需要打开\ s(dotall)修饰符,以使.
与换行符匹配。 (?:)
是非捕获组。
以上是 正则表达式匹配文本 的全部内容, 来源链接: utcz.com/qa/263747.html