正则表达式在文本中找到url

rod*_*odi 6 javascript regex

我必须使用正则表达式在文本中找到第一个url:

例如:

I love this website:http://www.youtube.com/music it's fantastic
Run Code Online (Sandbox Code Playgroud)

要么

[ es. http://www.youtube.com/music] text
Run Code Online (Sandbox Code Playgroud)

rid*_*ner 10

我去年研究了这个问题并开发了一个你可能想看的解决方案 - 请参阅:URL链接(HTTP/FTP)此链接是Javascript解决方案的测试页面,其中包含许多难以链接的URL示例.

我的正则表达式解决方案,为PHP和Javascript编写 - 并不简单(但事实证明也不是问题.)有关更多信息,我建议还阅读:

由Jeff Atwood提供的URL问题,以及由John Gruber提供的
用于匹配URL的改进的自由,准确的正则表达式模式

如果您想要正确执行此操作,必须阅读Jeff的博客文章后面的评论...

请注意,这个问题会被问到很多.也许下次再搜索:)


ast*_*asr 4

您无法使用正则表达式完美地做到这一点。您可能对此博文感兴趣。关于Regex Guru有更多信息,但即使这些信息看起来也非常脆弱。您需要在正则表达式之外进行额外的检查以捕获边缘情况。