使用Negative lookbehind和Negative lookahead断言的正则表达式

时间:2012-08-29 10:35:47

标签: c# .net regex lookahead lookbehind

  

可能重复:
  Regex matching left single quotation outside the double quotations

首先注意:

&ldquo - left double quote (")
&rdquo - right double quote (")
&lsquo - left single quote (')
&rsquo - right single quote (')

我需要匹配左侧和右侧双引号内的所有“左单引号”。

为了澄清:

  1. 这是“sample &lsquo string &rsquo &rdquo - >这不应该匹配,因为&lsquo(单引号)在双引号内

  2. 这是&lsquo sample &rsquo - > & lsquo应该匹配,因为它不在双引号

  3. 这是我现在的正则表达式:

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

    这个问题是,它正在同时查看&ldquo&rdquo,如果有任何“rdquo和rdquo发生,它将无法匹配

    例如:

    1. 这是&lsquo sample &rdquo - &gt;我需要在这里匹配&amp; lsquo但由于&amp; rdquo的出现,正则表达式不匹配

    2. 这是&ldquo a string &lsquo sample - &gt;与第1个例子相同的问题

    3. 希望有人可以帮助我!谢谢!

1 个答案:

答案 0 :(得分:0)

未经测试但请尝试此

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