首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP regex检查是否包含特定单词,但不包含其他单词

问PHP regex检查是否包含特定单词,但不包含其他单词
EN

Stack Overflow用户
提问于 2015-05-04 14:09:53
回答 1查看 3.3K关注 0票数 2

如何检查如何使用PHP正则表达式,我的字符串变量$str是否包含单词“cat”,但不包含单词“狗”。

  • 案例1:$str =“我的宠物:鹦鹉”->输出: false
  • 案例2:$str =“我的宠物:狗和猫”->输出: false
  • 案例3:$str =“我的宠物:猫”->输出: true

我尝试过这样做,但是我想知道是否有一个正则表达式来完成它。

代码语言:javascript
复制
$str = "My pet: dog and cat";
if (preg_match('/(\bdog\b)/', $str) && !preg_match('/(\bcat\b)/', $str)) echo 'TRUE';
else echo 'FALSE';
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-04 14:15:19

您可以对此使用否定的和积极的展望:

代码语言:javascript
复制
^(?=.*?cat)(?!.*?dog).*$

要检查完整的单词,请使用\b

代码语言:javascript
复制
^(?=.*?\bcat\b)(?!.*?\bdog\b).*$

RegEx演示

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30032261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档