Regex 正则表达式模式选择交替匹配

Regex 正则表达式模式选择交替匹配,regex,Regex,正则表达式模式 /("[^:=,]+":")(.*?)("}*\]*}*,")/ 字符串: "foo":""fooooooooooooooooooo"foooo","bar":"barrrrrrrrr""barrrrrr","fooo":"foooooo","bar":"barrrrrr"," 匹配第一个和第三个模式 字符串: "bar":"barrrrrrrrr""barrrrrr","fooo":"foooooo","bar":"barrrrrr","foo":""fooooooooo

正则表达式模式

/("[^:=,]+":")(.*?)("}*\]*}*,")/
字符串:

"foo":""fooooooooooooooooooo"foooo","bar":"barrrrrrrrr""barrrrrr","fooo":"foooooo","bar":"barrrrrr","
匹配第一个和第三个模式

字符串:

"bar":"barrrrrrrrr""barrrrrr","fooo":"foooooo","bar":"barrrrrr","foo":""fooooooooooooooooooo"foooo","
匹配第一个和第三个模式

如何使其匹配所有4个模式匹配上面的任何字符串?

这是因为正则表达式模式末尾的“使用了以下字符串的引号。因此,它不匹配。事实上,正则表达式将只匹配每个备选匹配字符串

您需要使用前瞻:

/("[^:=,]+":")(.*?)("}*\]*}*(?=,"))/

这是因为正则表达式模式末尾的
,“
使用了以下字符串中的引号。因此,它是不匹配的。事实上,正则表达式将只匹配每个备用匹配字符串

您需要使用前瞻:

/("[^:=,]+":")(.*?)("}*\]*}*(?=,"))/