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

时间:2018-03-07 05:20:24

标签: .net regex

尝试使用.net regex匹配以下内容:

'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

规则继续匹配,直到引号后跟空格或字符串结尾。

最近我来了:

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

在简单的情况下有效,但只要添加更多的引号就会中断。

1 个答案:

答案 0 :(得分:2)

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

第一部分'(.*?)'匹配引号中的所有内容。

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