我试图匹配这些字符串:
" ... "
双引号内的文字
' ... '
单引号内的文字
" ' "
" \" "
可以转义双引号
但不是这些:
' " '
单引号内没有双引号
" " "
双引号内没有双引号
'''
单引号内的单引号 - 单引号只能包含
我想出了以下正则表达式:
['"](?(["])[^\"-"][\w])['"]
但它没有用。
答案 0 :(得分:4)
通常将引号与带有转义的引号匹配,就像在C风格的语言中一样(并使用JS中的单引号),您可以使用:
"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'
答案 1 :(得分:1)
您可以使用以下内容:
"(?:[^"\\]|\\.)*?"|'(?:[^\\"']|\\.)*?'
我已经按照您的要求进行了操作,但我对此感到疑惑(为什么单引号内没有双引号?我没有在单引号内引用单引号,尽管您对此没有任何说明)。
无论哪种方式,这里都是an example