正则表达式:从大量单词中找到,只有整个单词

时间:2019-03-30 04:23:35

标签: regex

我的文字很长,而且我想在此文字中找到一长串的单词。

现在,要搜索这些单词,我检查“正则表达式”,然后找到“ word1 | word2 | word3 | word4 ...”。 问题是,如果其中一个单词是“ eat”,那么每个包含“ eat”的单词也会被突出显示。我该如何预防?

1 个答案:

答案 0 :(得分:1)

您可以使用单词锚来匹配单词的开头和结尾。 (假设您使用的是支持PCRE的产品。)

/\b(word1|word2|word3...)\b/

\b位在“字边界”处匹配。来自Perl的正则表达式手册页(man perlre

  

单词边界(“ \ b”)是两个字符之间的一个点,在它的一侧有一个“ \ w”,在另一侧有一个“ \ W”(以任意顺序),计算字符串开头和结尾处的虚构字符与“ \ W”匹配。