0

当我需要检测 URL 时,以下正则表达式可以完美运行。

`((?:https?|ftp)://\S+?)(?=[]).,;:!?]?(?:\s|\Z)|\Z)`

但我也有一个检测 [url=...]...[/url] 代码的正则表达式,在这种情况下,文本变为:...,并且 http://... 仍然现在,引用的正则表达式第二次检测到 URL。

我想防止以等号开头的 URL 被前面的正则表达式检测到: http://... 会被检测到,但不会被检测到 =http://

我试过了

`(^\=)((?:https?|ftp)://\S+?)(?=[]).,;:!?]?(?:\s|\Z)|\Z)`

但它不起作用。

提前感谢!:)

4

1 回答 1

0

认为以下将使用负面的后视工作(?<!)

(?<!=)((?:https?|ftp)://\S+?)(?=[]).,;:!?]?(?:\s|\Z)|\Z)
于 2013-07-04T11:27:09.140 回答