假設input =「Hello」並且模式爲「World」 我想確定輸入中不會發生thr模式。 由於模式不會在輸入中出現Regex.IsMatch應該返回true。如何指定不應該匹配的模式
我怎麼能寫模式在C#
假設input =「Hello」並且模式爲「World」 我想確定輸入中不會發生thr模式。 由於模式不會在輸入中出現Regex.IsMatch應該返回true。如何指定不應該匹配的模式
我怎麼能寫模式在C#
通常不使用正則表達式來查看某個字符串是否不存在。
儘管在一些(正則表達式實現)中可能使用零寬度負向查找(see this answer),但對於每個輸入都不一定可能。當您希望通過斷言在匹配之前/之後/之內不存在某些子分類時避免正則表達式中的指數匹配失敗時,主要使用負向前瞻/後置斷言。它們也(更常用)用於搜索不能在其他模式之前或之後進行的匹配。
相反,只是檢查模式在輸入存在,然後返回Regex.IsMatch的否定:
var input = "Hello";
var regEx = new Regex("World");
return !regEx.IsMatch(input);
您可以使用zero-width, negative lookahead assertion:
Regex.IsMatch("Hello", "(?!World)") // Returns true
但我只在沒有的情況下爲你提供這些信息只是做,而且只有這樣(當你只能否定IsMatch
的結果),而不是想要在更森的某個地方有否定斷言聖地。
事情是模式來自配置文件,我想運行相同的匹配任何一種方式 – 2010-07-08 23:14:00