如何在字符串中多次匹配所有模式。
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=|$)