.net中的正则表达式-匹配引号中的第一个组,忽略嵌套引号

.net中的正则表达式-匹配引号中的第一个组,忽略嵌套引号,.net,regex,.net,Regex,正在尝试使用.net正则表达式匹配以下内容: 'match this value: (no match) 'match this' value: match this 'mat'ch this' value: mat'ch this ''match this''' value: 'match this'' 'ma

正在尝试使用.net正则表达式匹配以下内容:

'match this                          value: (no match)
'match this'                         value: match this
'mat'ch this'                        value: mat'ch this
''match this'''                      value: 'match this''
'mat'ch this'' but '                 value: mat'ch this'
'mat'ch this' but 'not this match'   value: mat'ch this
规则将继续匹配,直到引号后跟空格或字符串结尾

我最近来过:

'(?!['])(.*)(?<!['])'
“(?![”])(.*)(?)?

这在简单的情况下有效,但在添加更多引号后会立即中断。

这适用于您的所有测试用例:
'(*?)(\s|$)

第一部分,
“(.*?”
,匹配引号中的所有内容


第二部分,
(\s |$)
,根据规范,确保引号后面有空格或字符串结尾。

这适用于所有测试用例:
'(.*?)(\s |$)

第一部分,
“(.*?”
,匹配引号中的所有内容

第二部分,
(\s |$)
,根据规范,确保引号后面有空格或字符串结尾。

类似