我想创建一个与URL匹配的常规表达式,除了URl包含“ youtube”。
我已经完成了与所有URL匹配的正则表达式:
(www+\.)?[\w-]+s{0,3}[/\.,;:!]{1,3}\s{0,3}(r[o0]|n[e3]t|lt|c[o0]m|[i!]nf[o0]|[o0]rg|b[i!][z2]|ru|[e3]du)(\/)?
但是我想添加常规表达式,如果URL包含“ youtube”,则不匹配。
我们有一个庞大的系统,该系统将接收到的句子过滤掉,例如,对于每个收到的句子,我们应用几个正则表达式。我想要一个常规表达式,说这句话包含一个URL,但不包含“ youtube”。
可能吗?
谢谢
最佳答案
我会这样做:
正则表达式
(www+\.)?(?!youtube)([\w-]+s{0,3})[/\.,;:!]{1,3}\s{0,3}(r[o0]|n[e3]t|lt|c[o0]m|[i!]nf[o0]|[o0]rg|b[i!][z2]|ru|[e3]du)(\/)?
测试
youtube.com => No Match
test.n3t => Match
wwwwwww.coucous::.3du => Match
utube;;; r0 => Match