正则表达式匹配两个单词而不匹配其他单词



如何编写一个匹配以下条件的正则表达式:

((iphone|ipod) OR (android AND mobile AND (NOT gt-p)))

有人能帮帮我吗?

编辑:

在注释的帮助下,我得到了下面的代码:

iphone|ipod|(android(?!.*?gt-p)(?:s*mobile))?

这是相同的正则表达式与更多的组android单独不匹配…对吗?

这可能是你想要的:

iphone|ipod|android(?!.*?gt-p)(?:s*mobile)?
https://regex101.com/r/xT8rD4/1

允许androidandroid mobile后面不跟着gt-p。如果它应该只允许android mobile,这是一个容易的修复。

这是我给你的礼物

(^((?!gt-p).)*mobile((?!gt-p).)*android((?!gt-p).)*$)|(^((?!gt-p).)*android((?!gt-p).)*mobile((?!gt-p).)*$)|iphone|ipad

它匹配任何带有"ipad"或"iphone"或("android"one_answers"mobile"以任何顺序,只要不包含"gt-p")

https://regex101.com/r/dR5rE4/1

最新更新