C# 停在正则表达式中的word
我知道我可以执行以下操作[^h]以使所有匹配项都接受带有“h”的匹配项。C# 停在正则表达式中的word,c#,regex,C#,Regex,我知道我可以执行以下操作[^h]以使所有匹配项都接受带有“h”的匹配项。 我如何处理整个单词,比如^(word)使用正则表达式真的没有好方法。您可以得到的最接近的方法是使用一个仅当正则表达式后面没有负前瞻中的字符串时才查找该正则表达式的…: foo(?!word) 将只查找foo,后面不跟word 向后看(而不是向前看)也是如此: (? 如果要匹配与foo不相同的字符串,则只有在前面没有word的情况下才会找到foo: ^(?!foo).*$ ^(?!.*foo).*$ ^(?:(?!fo
我如何处理整个单词,比如^(word)使用正则表达式真的没有好方法。您可以得到的最接近的方法是使用一个仅当正则表达式后面没有负前瞻中的字符串时才查找该正则表达式的…:
foo(?!word)
将只查找foo
,后面不跟word
向后看(而不是向前看)也是如此:
(?
如果要匹配与foo
不相同的字符串,则只有在前面没有word
的情况下才会找到foo
:
^(?!foo).*$
^(?!.*foo).*$
^(?:(?!foo).)*
如果要匹配不包含foo
的字符串:
^(?!foo).*$
^(?!.*foo).*$
^(?:(?!foo).)*
如果要将不包含foo
的字符串作为完整单词进行匹配:
如果要匹配字符串直到出现foo
,并在foo
之前停止匹配:
^(?!foo).*$
^(?!.*foo).*$
^(?:(?!foo).)*
这些解决方案不处理字符串中的换行符,因此如果出现问题,您可能必须在.NET中设置相应的正则表达式选项,如RegexOptions.Singleline
(?!foo)
是一个,这意味着它声明不可能(“负”)匹配字符串中当前位置之后的foo
(“向前看”),同时在匹配尝试中不使用任何字符(“零宽度”)。请正确解释您的问题