正则表达式匹配双引号,但不是双引号

时间:2014-10-28 21:58:23

标签: regex

我试图创建一个正则表达式来匹配(并最终捕获,替换和转义)",但不是".*",并且似乎无法想象它出。

如何匹配单数引用,而不是它们的集合?

4 个答案:

答案 0 :(得分:2)

这将匹配成对的双引号,跳过它们并尝试查找不会被跳过的单引号。

".*?"(*SKIP)(*F)|"

这是regex demo

答案 1 :(得分:1)

如果您正在寻找只有一个引号的行,这将有效。

^[^"]*"[^"]*$

翻译:任何不是双引号的字符后跟一个双引号后跟任意数量不是双引号的字符

答案 2 :(得分:1)

我认为你需要的表达是这样的:

^([^"]*?)(")([^"]*?)$

请在此处查看示例:http://www.regexr.com/39qf4

答案 3 :(得分:0)

好像我遇到了同样的问题。 提出了以下解决方案:(?<!")"(?!")

含义:匹配一个双引号,该双引号既不带双引号,也不带双引号。