标签: php regex
如何使用PHP正则表达式检查,我的字符串变量$ str是否包含单词'cat',但不包含单词'dog'。
我试过这个并且它有效,但我想知道是否有一个正则表达式来做它
$str = "My pet: dog and cat"; if (preg_match('/(\bdog\b)/', $str) && !preg_match('/(\bcat\b)/', $str)) echo 'TRUE'; else echo 'FALSE';
答案 0 :(得分:3)
您可以使用消极和积极的前瞻:
^(?=.*?cat)(?!.*?dog).*$
要检查完整的字词,请使用\b:
\b
^(?=.*?\bcat\b)(?!.*?\bdog\b).*$
RegEx Demo