Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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# 正则表达式匹配双引号外的左单引号_C#_.net_Regex_Lookbehind - Fatal编程技术网

C# 正则表达式匹配双引号外的左单引号

C# 正则表达式匹配双引号外的左单引号,c#,.net,regex,lookbehind,C#,.net,Regex,Lookbehind,注: 左双引号(“)=&ldquo 右双引号(“)=&rdquo 左单引号(')=&lsquo 我现在的正则表达式是 (?<!.*&ldquo.*)&lsquo 它还与此处的&lsquo匹配(我不希望发生这种情况,因为单引号位于左双引号和右双引号内): 我如何编写一个正则表达式来匹配左引号和右引号之外的所有&lsquo 谢谢你的帮助 使用ASCII转义序列告诉正则表达式您指的是哪些字符 \x93-指&ldquo \x94-指&rdquo 因此,您需要的正则表达式是:[

注:

左双引号(“)=&ldquo

右双引号(“)=&rdquo

左单引号(')=&lsquo

我现在的正则表达式是

(?<!.*&ldquo.*)&lsquo
它还与此处的&lsquo匹配(我不希望发生这种情况,因为单引号位于左双引号和右双引号内):

我如何编写一个正则表达式来匹配左引号和右引号之外的所有&lsquo


谢谢你的帮助

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

  • \x93
    -指&ldquo
  • \x94
    -指&rdquo
因此,您需要的正则表达式是:
[\x93]*[^x94]


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

如果我理解您的问题……这可能是您想要的

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

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

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

谢谢!

不,我需要匹配不在&ldquo和&rdquo内的&lsquo,例如&lsquosample&rsquo&ldquosample text&rdquo。那么
正确的单引号呢?
。是否在那里..请正确解释您真正想要的东西!列出有效和无效的示例…我不太明白您想要的是什么o这里,但我感觉您正在尝试解析一个非正则表达式。如果引号嵌套,然后再次嵌套会发生什么?我需要匹配所有在&ldquo和&rdquo之外的&lsquo,谢谢您的回答!这样我就找到了适合我的问题的正则表达式。
(?<!&ldquo.*?)&lsquo(?!&rdquo)
(?<!.*&ldquo;)&lsquo;(?!.*&rdquo;)