Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用负lookback和负lookahead断言的正则表达式_C#_.net_Regex_Lookahead_Lookbehind - Fatal编程技术网

C# 使用负lookback和负lookahead断言的正则表达式

C# 使用负lookback和负lookahead断言的正则表达式,c#,.net,regex,lookahead,lookbehind,C#,.net,Regex,Lookahead,Lookbehind,可能重复: 第一点注意: &ldquo - left double quote (") &rdquo - right double quote (") &lsquo - left single quote (') &rsquo - right single quote (') 我需要匹配所有不在左双引号和右双引号内的“左单引号” 对于澄清: 这是一个“示例&lsquo字符串&rsquo->这不应匹配,因为&lsquo(单引号)位于双引号内 这是一个

可能重复:

第一点注意:

&ldquo - left double quote (")
&rdquo - right double quote (")
&lsquo - left single quote (')
&rsquo - right single quote (')
我需要匹配所有不在左双引号和右双引号内的“左单引号”

对于澄清:

  • 这是一个
    “示例&lsquo字符串&rsquo
    ->这不应匹配,因为
    &lsquo
    (单引号)位于双引号内

  • 这是一个
    &lsquo示例’
    ->应该匹配&lsquo,因为它不在双引号内

  • 以下是我当前的正则表达式:

    (?<!.*&ldquo)&lsquo(?!.*&rdquo)
    
    (?
    问题是,它同时查看
    &ldquo
    &rdquo
    ,如果ldquo和rdquo中的任何一个出现,它将不匹配

    例如:

  • 这是一个
    &lsquo示例&rdquo
    ->我需要在这里匹配&lsquo,但由于&rdquo的外观,正则表达式不匹配

  • 这是与第一个示例相同的问题


  • 希望有人能帮助我!谢谢!

    未经测试,但试试这个

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

    (?“Inside”引号与“there is a double quote following”(后面有双引号)不同。我假设您确实希望匹配
    “lsquo&ldquo&rdquo
    中的
    。此外,实体名称后面不应该有分号吗?这是您第二次问这个问题是的,因为我仍然没有解决它:(那你为什么把问题标为已回答?