繁体   English   中英

正则表达式右匹配网址,最后是DOT

[英]Regex right match url with DOT at the end

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

这是我的模式:

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

例如,文本为'The url is www.domain.com. Second is wiki.org.' 'The url is www.domain.com. Second is wiki.org.'

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

的jsfiddle

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

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

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

JSFiddle。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM