我想查找一些没有被任何数字或字母数字包围或没有包围的单词。 所以,如果我在寻找Foo123我想这个结果不包含数字或字母数字的图案
="Foo123"; =>TRUE
barFoo123; =>FALSE
Foo123 =>TRUE
BarBar123Foo123Bar; =>FALSE
;Foo123 =>TRUE
我刚刚建立了这个表达式:
(^[^0-9a-zA-Z]?)WORDTOFIND([^0-9a-zA-Z]?$)
我敢肯定,我在正确的道路,但是,当我像这样使用它:
if (Regex.IsMatch(line, string.Format(@"(^[^0-9a-zA-Z]?){0}([^0-9a-zA-Z]?$)",snCode)))
{
}
它不起作用。我究竟做错了什么?
权,重要的区别是,你说'Foo123'不能由字母数字字符开头,而不是说必须先由字符串的开始处的可选非字母数字字符组成。你清楚地表达意图,并且通常会得到很好的结果。 – hvd
这不起作用,但你以前的做法是:(?<=^| [^ a-zA-Z0-9])Foo123(?= $ | [^ a-zA-Z0-9])有人能告诉我什么是<=? – bAN
不,它的工作原理。 @Joey忘了删除其中的一个:'(?![^ a-zA-Z0-9])'应该是'(?![a-zA-Z0-9])'。 –