正则表达式匹配最终与DOT匹配的URL

时间:2013-08-23 08:41:46

标签: javascript regex

我有正确的正则表达式在文本中找到网址,但有一件事我无法解决。 如果url以DOT结尾 - 此点匹配为url的一部分。

这是我的模式:

/(^|[\?\s])(www\.[^\? ]+\/[^\/ ]*\?[^\? ]+|www\.[^\? ]+)/g

对于示例,文字为'The url is www.domain.com. Second is wiki.org.'

Urls last dot不是url的一部分,但正则表达式也替换它。

JSFiddle

1 个答案:

答案 0 :(得分:1)

最简单的解决方法是要求将非标点字符作为最后一个字符:

/(^|[?\s])(www\.[^? ]+\/[^/ ]*\?[^? ]*[^?.,! ]|www\.[^? ]*[^?.,! ])/g

请注意,我删除了一些反斜杠,因为它们不是必需的。

JSFiddle.

然而,这仍然是一个强大的URL模式。那么,为什么重新发明轮子而不是仅使用some established URL pattern