正则表达式匹配(如果不在单词之后)

Und*_*ned 3 php regex

我有一个正则表达式,它匹配 url 并将它们转换为 html 链接。如果 url 已经是链接的一部分,我不想匹配,例如:

http://stackoverflow.com/questions/ask
Run Code Online (Sandbox Code Playgroud)

应该匹配,但是:

<a href="http://stackoverflow.com/questions/ask">Stackoverflow</a>
Run Code Online (Sandbox Code Playgroud)

不应该匹配

我如何创建一个正则表达式来执行此操作?

Shi*_*dim 5

如果您的 url 匹配正则表达式,$URL那么您可以使用以下模式

(?<!href[\"'])$URL
Run Code Online (Sandbox Code Playgroud)

在 PHP 中你可以这样写

preg_match("/(?<!href[\"'])$URL/", $text, $matches);
Run Code Online (Sandbox Code Playgroud)