正则表达式,用于检查2个特定单词

Pet*_*ete 13 regex

我正在寻找一个正则表达式来检查字符串是否包含2个特定单词.例如,该字符串是否包含公鸡或母鸡.

提前致谢!

Tom*_*lak 24

表达匹配roosterhen作为一个完整的单词(即,当它们是更长,不同的单词的一部分时):

\b(rooster|hen)\b
Run Code Online (Sandbox Code Playgroud)

这是一种避免部分匹配误报的安全措施.

\b表示一个字边界,它是一个字符之间在"单词字符"(的范围内(零宽度)点[A-Za-z0-9_])和任何其他字符.实际上上面会:

  • 匹配 "A chicken is either a rooster or a hen."
  • 匹配"Chickens are either a roosters or hens."- 但(rooster|hen)

作为旁注,允许复数,这将做: \b(roosters?|hens?)\b