我有正确的正则表达式来查找文本中的网址,但有一件事我无法解决。如果 url 以 DOT 结尾 - 此点匹配为 url 的一部分。
这是我的模式:
/(^|[\?\s])(www\.[^\? ]+\/[^\/ ]*\?[^\? ]+|www\.[^\? ]+)/g
对于示例,文本是'The url is www.domain.com. Second is wiki.org.'
Urls 最后一个点不是 url 的一部分,但正则表达式也会替换它。
我有正确的正则表达式来查找文本中的网址,但有一件事我无法解决。如果 url 以 DOT 结尾 - 此点匹配为 url 的一部分。
这是我的模式:
/(^|[\?\s])(www\.[^\? ]+\/[^\/ ]*\?[^\? ]+|www\.[^\? ]+)/g
对于示例,文本是'The url is www.domain.com. Second is wiki.org.'
Urls 最后一个点不是 url 的一部分,但正则表达式也会替换它。
最简单的解决方法是要求一个非标点字符作为最后一个字符:
/(^|[?\s])(www\.[^? ]+\/[^/ ]*\?[^? ]*[^?.,! ]|www\.[^? ]*[^?.,! ])/g
请注意,我删除了您的一些反斜杠,因为它们不是必需的。
然而,这仍然是一个不可靠的 URL 模式。那么,为什么要重新发明轮子而不是仅仅使用一些既定的 URL 模式呢?