正则表达式匹配文本

的多个组,我不知道这是可能的正则表达式,但我想是这样......正则表达式匹配文本

输入:

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

回到顶部