正则表达式,如何找到不是更大词的一部分的单词

时间:2011-09-06 07:00:26

标签: c# string regular-language

我想知道在正常表达式的C#中是否存在枚举,如果找到了您正在寻找的单词,则返回true,而不是更大的表达。

例如,如果我正在寻找“tv”这个词, 我的字符串是“tva很大”,返回值应为false

我的代码是:

Regex.Match(i_myString, i_Keyword, RegexOptions.IgnoreCase).Success;

但如果我要找的单词是更大词的一部分,它会返回true

2 个答案:

答案 0 :(得分:4)

您需要使用word boundary anchor \b来确保您不匹配单词的一部分。正则表达式看起来像这样:

\btv\b

答案 1 :(得分:2)

您可以在搜索字词之前和之后添加\b - 这是一个字边界,因此会匹配字符串的开头/结尾,空格,标点符号等。

请注意,它也可能允许itit's匹配。