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
中的。此外,实体名称后面不应该有分号吗?这是您第二次问这个问题是的,因为我仍然没有解决它:(那你为什么把问题标为已回答?