我的文字很长,而且我想在此文字中找到一长串的单词。
现在,要搜索这些单词,我检查“正则表达式”,然后找到“ word1 | word2 | word3 | word4 ...”。 问题是,如果其中一个单词是“ eat”,那么每个包含“ eat”的单词也会被突出显示。我该如何预防?
答案 0 :(得分:1)
您可以使用单词锚来匹配单词的开头和结尾。 (假设您使用的是支持PCRE的产品。)
/\b(word1|word2|word3...)\b/
\b
位在“字边界”处匹配。来自Perl的正则表达式手册页(man perlre
)
单词边界(“ \ b”)是两个字符之间的一个点,在它的一侧有一个“ \ w”,在另一侧有一个“ \ W”(以任意顺序),计算字符串开头和结尾处的虚构字符与“ \ W”匹配。