我正在寻找检查字符串是否包含2个特定单词的正则表达式。
例如字符串包含rooster
还是hen
。
最佳答案
匹配rooster
或hen
作为完整单词的表达(即当它们是更长的不同单词的一部分时不匹配):
\b(rooster|hen)\b
这是一种安全措施,可避免部分匹配出现误报。
\b
表示a word boundary,它是“单词字符”([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