双引号内的正则表达式

时间:2014-07-23 14:31:47

标签: .net regex

我试图匹配这些字符串:

" ... "双引号内的文字

' ... '单引号内的文字

" ' "

中可能有撇号

" \" "可以转义双引号

但不是这些:

' " '单引号内没有双引号

" " "双引号内没有双引号

'''单引号内的单引号 - 单引号只能包含

中的文本

我想出了以下正则表达式:

['"](?(["])[^\"-"][\w])['"]

但它没有用。

2 个答案:

答案 0 :(得分:4)

通常将引号与带有转义的引号匹配,就像在C风格的语言中一样(并使用JS中的单引号),您可以使用:

"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'

答案 1 :(得分:1)

您可以使用以下内容:

"(?:[^"\\]|\\.)*?"|'(?:[^\\"']|\\.)*?'

我已经按照您的要求进行了操作,但我对此感到疑惑(为什么单引号内没有双引号?我没有在单引号内引用单引号,尽管您对此没有任何说明)。

无论哪种方式,这里都是an example