【发布时间】:2014-06-01 04:32:04
【问题描述】:
1) 使用 c# 正则表达式
我目前有以下正则表达式
^(abc|def)$
如果单词是“abc”或“def”,则返回true 我需要的是让它匹配除了这两个词之外的任何东西,包括包含这些词的字符串。 我现在是这样做的
Regex rgx = new Regex("^(abc|def)$");
if(!rgx.IsMatch(somestring)){
// do stuff
}
我想要的是一个不需要使用 ! 运算符的正则表达式。所以我需要类似的东西(请参阅新正则表达式中的 ! 运算符,但它不起作用。)
Regex rgx = new Regex("^(!(abc|def))$");
if(rgx.IsMatch(somestring)){
// do stuff
}
一些字符串的预期结果
废话-->是的
abc blah --> 是的
abc --> 错误
def --> 错误
blah def --> 是的
希望这是有道理的。在此先感谢。
为了澄清,我不是想在字符串中找到单词,我想将整个字符串与正则表达式进行比较......因此 ^()$
至于为什么不直接使用 !rgx.IsMatch,我们只是说我只是想看看它是否可以使用正则表达式
【问题讨论】:
-
不是重复的,请阅读问题...我正在寻找整个单词匹配而不是字符串中包含的匹配
-
如果您不想使用正则表达式在字符串中查找单词,为什么要使用正则表达式? string.Contains 和简单的条件不起作用吗?
-
“为什么”在这里并不重要。我想看看有没有可能。
标签: c# regex regex-negation