Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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# 停在正则表达式中的word_C#_Regex - Fatal编程技术网

C# 停在正则表达式中的word

C# 停在正则表达式中的word,c#,regex,C#,Regex,我知道我可以执行以下操作[^h]以使所有匹配项都接受带有“h”的匹配项。 我如何处理整个单词,比如^(word)使用正则表达式真的没有好方法。您可以得到的最接近的方法是使用一个仅当正则表达式后面没有负前瞻中的字符串时才查找该正则表达式的…: foo(?!word) 将只查找foo,后面不跟word 向后看(而不是向前看)也是如此: (? 如果要匹配与foo不相同的字符串,则只有在前面没有word的情况下才会找到foo: ^(?!foo).*$ ^(?!.*foo).*$ ^(?:(?!fo

我知道我可以执行以下操作[^h]以使所有匹配项都接受带有“h”的匹配项。
我如何处理整个单词,比如^(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
(“向前看”),同时在匹配尝试中不使用任何字符(“零宽度”)。

请正确解释您的问题