加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

是否有正则表达式来匹配包含A但不包含B的字符串

发布时间:2020-12-14 06:33:23 所属栏目:百科 来源:网络整理
导读:我的问题是我想用纯正则表达式来检查浏览器字符串。 Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML,like Gecko) Version/4.0 Safari/534.13 – 应该匹配 Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; Nexus On
我的问题是我想用纯正则表达式来检查浏览器字符串。
Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML,like Gecko) Version/4.0 Safari/534.13

– >应该匹配

Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; Nexus One Build/FRG83) AppleWebKit/533.1 (KHTML,like Gecko) Version/4.0 Mobile Safari/533.1

不应该匹配

我试过的解决方案是:/?((?< = Android)(?:[^])*?(?= Mobile))/ i
但它匹配完全错误。

问候,
乔治·

您可以使用前瞻性断言来检查字符串是否包含单词。

如果你想确保字符串在某个地方包含“Android”,你可以这样做:

^(?=.*Android).*

您也可以组合它们,以确保它在某个地方包含“Android”,并在某些地方包含“Mobile”

^(?=.*Android)(?=.*Mobile).*

如果你想确保某个字不在字符串中,请使用负向前看:

^(?=.*Android)(?!.*Mobile).*

这将要求“Android”在字符串中,并且字符串中不允许使用“Mobile”字样。当开始的断言为true时,*部分与完整的字符串/行匹配。

见here on Regexr

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读