我需要一些帮助
我的模式看起来像
/°>(http|\/)([^|<]+?)(?!\.gif|\.jpg|\.mp|\.png|\.jpeg)<°/gi
我尝试实现的目标有4个例子:
°>/w NICK<°
$ 1 - &gt; /
$ 2 - &gt; w NICK
°>http://google.de<°
$ 1 http $ 2://google.de
°>/w NICK|/w NICK<°
由于| ,没有匹配项
°>http://google.de/img.png<°
因为以.png结尾
而没有匹配现在我完全无能为力....我得到前3个示例的正则表达式工作,但无法获得以img扩展名结尾的前瞻 在c#我得到它的工作,但不是为了javascript
答案 0 :(得分:2)
使用
°>(http|\/)(?![^|<]*\.(?:gif|jpe?g|mp|png)<)([^|<]+)<°
请参阅regex demo
<强>详情:
°>
- 文字子字符串(http|\/)
- 第1组:http
或/
(?![^|<]*\.(?:gif|jpe?g|mp|png)<)
- 如果在http
或/
之后,除了|
和<
之外还有0个字符,则表示匹配失败的否定前瞻然后是非捕获组中指定的一些扩展,后跟<
([^|<]+)
- 第2组匹配除|
和<
以外的1个或多个字符<°
- 文字子字符串。