我想创建一个与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

10-07 16:17
查看更多