0

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

这是我的模式:

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

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

Urls 最后一个点不是 url 的一部分,但正则表达式也会替换它。

JSFiddle

4

1 回答 1

1

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

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

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

JSF 中。

然而,这仍然是一个不可靠的 URL 模式。那么,为什么要重新发明轮子而不是仅仅使用一些既定的 URL 模式呢?

于 2013-08-23T08:44:56.040 回答