2014-10-28 129 views
1

我试图创建一个正则表达式匹配(并最终捕获,替换和转义)",但不是".*",似乎无法弄清楚。正则表达式匹配双引号,但不是双双引号

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

+0

所以你真的需要在你的正则表达式后添加一个{1},我认为这应该能够捕捉到一个双引号。 – ryekayo 2014-10-28 22:02:57

+2

“_如何匹配这对引号,而不是单数?”Doesn这与你的头衔相矛盾吗? – Unihedron 2014-10-28 23:38:21

回答

1

如果你正在寻找只有一个报价的线路,这将工作。

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

翻译:这是不是双引号后面一个双引号后跟任意数目的字符不在双引号

任意数目的字符
2

这将匹配对双引号,跳过他们,attem找到不被跳过的单引号。

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

这是regex demo

+0

匹配单引号的问题在于它严重依赖于上下文(或其他规则,例如:引号之前或之后的空格)。在你的回答中,你认为一个无与伦比的引号总是在一对引号之后,但它可能不是一个例子:“它长2”,因此如果没有来自OP的更多细节,我们只能猜测。 – strah 2014-10-29 07:47:18

相关问题