Regex.Match整个单词

Regex.Match整个单词

在C#,我想使用正则表达式来匹配任何这些单词:


string keywords = "(shoes|shirt|pants)";

我想在内容字符串中找到整个单词。我以为这样regex做会:


if (Regex.Match(content, keywords + "\\s+", 

  RegexOptions.Singleline | RegexOptions.IgnoreCase).Success)

{

    //matched

}

但是对于像这样的单词participants,它会返回true ,即使我只想要整个单词pants。


我如何仅匹配那些文字?


杨__羊羊
浏览 313回答 3
3回答

明月笑刀无情

你应该在你的正则表达式中添加单词分隔符:\b(shoes|shirt|pants)\b在代码中:Regex.Match(content, @"\b(shoes|shirt|pants)\b");

慕标5832272

尝试Regex.Match(content, @"\b" + keywords + @"\b", RegexOptions.Singleline | RegexOptions.IgnoreCase)\b字边界上的匹配。有关详细信息,请参见此处
打开App,查看更多内容
随时随地看视频慕课网APP