字符串中this=that的多个匹配项的正则表达式



如何在字符串中多次匹配所有模式。

1=aa 2='b'3="cc"4="dd"

正则表达式应该匹配所有这些,并给出4个匹配项作为
1) 1=aa
2) 2='b'
3) 3="cc"
4) 4="dd"

我试过了,到目前为止我有这个,(?<number>d=)s*("|')?s*(?<value>.*?)(?=d=)

这匹配除#4之外的所有内容。这是因为最后一个没有d=。我知道我可以把一个?最后,但它与任何东西都不匹配,我做错了什么。

(?=d=)部分的意思是"后面跟着d="。您需要的是(?=d=|$),意思是"后面跟着d=或字符串末尾":

(?<number>d=)s*("|')?s*(?<value>.*?)(?=d=|$)

最新更新