在发布之前,我们要扫描CMS文章,以了解我们是否有任何包含“dev”,“qa”或“ua”的网址。
我从What is a good regular expression to match a URL?
找到了这个正则表达式(HTTPS://(?:??!。WWW |(WWW))。^ \ S] + [^ \ s]的{2,} | WWW [^ \ S] + [^ \ s]的{2,})
我想更新它,以便它只匹配其中包含“dev”,“qa”或“ua”的网址。
即
http://regexrdev.com/foo.html?q=bar
https://dev.mediatemple.net
http://regexrqa.com/foo.html?q=bar
http://qa.mediatemple.net
and
http://regexrua.com/foo.html?q=bar
https://ua.mediatemple.net
应该匹配而不是
www.demo.com
http://foo.co.uk/
http://regexr.com/foo.html?q=bar
https://mediatemple.net
如果您可以在此处更新表达式,那将非常有用
然后分享
答案 0 :(得分:2)
您似乎只想匹配包含这3个字符串的网址。
您可以使用
(?=\S*(?:ua|dev|qa))(?:https?:\/\/(?:www\.|(?!www))[^\s.]+\.\S{2,}|www\.\S+\.\S{2,})
正面预测(?=\S*(?:ua|dev|qa))
会强制匹配的字符串中包含ua
,dev
或qa
。
我还将[^\s]
替换为\S
,因为它们是等效的。