-2

笔记 :

左双引号 (") = &ldquo

右双引号 (") = &rdquo

左单引号 (') = &lsquo

我目前的正则表达式是这个

(?<!.*&ldquo.*)&lsquo

它与这里的 &lsquo 匹配(这是正确的):

&ldquoThis is a sample&rdquo &lsquosample text

它还与此处的 &lsquo 匹配(我不想发生这种情况,因为单引号在左右双引号内):

&ldquoThis &lsquois a sample&rdquo

如何编写一个正则表达式来匹配不在左右引号内的每个 &lsquo

感谢你的帮助!

4

3 回答 3

1

如果我理解你的问题..这可能是你想要的

(?<!&ldquo.*?)&lsquo(?!&rdquo)
于 2012-08-24T06:26:10.690 回答
0

这是我正在查看的正确正则表达式:

(?<!.*&ldquo;)&lsquo;(?!.*&rdquo;)

谢谢!

于 2012-08-24T06:41:13.440 回答
0

使用 ASCII 转义序列告诉正则表达式您指的是哪些字符。

  • \x93——指“
  • \x94——指“

所以你需要的正则表达式是:[\x93]*[^x94]

或者,如果您知道您的字符串由哪些字符组成,那么:[A-Za-z0-9\x93]*[^x94]等等。根据需要添加更多字符。

于 2012-08-24T05:53:04.617 回答