如何利用PHP正则表达式检查字符串变量 $str 是否包含单词'cat'但不包含单词'dog'。
- 情况1:$str = "My pet: parrot" -> 输出:false
- 情况2:$str = "My pet: dog and cat" -> 输出:false
- 情况3:$str = "My pet: cat" -> 输出:true
我已经尝试了以下方法,它可以工作,但我想知道是否有一个单一的正则表达式可以完成它。
$str = "My pet: dog and cat";
if (preg_match('/(\bdog\b)/', $str) && !preg_match('/(\bcat\b)/', $str)) echo 'TRUE';
else echo 'FALSE';