从给定的字符串中提取 url [重复]
Posted
技术标签:
【中文标题】从给定的字符串中提取 url [重复]【英文标题】:Extract urls from given string [duplicate] 【发布时间】:2013-07-11 03:32:21 【问题描述】:house home go https://www.monstermmorpg.com
nice hospital http://www.monstermmorpg.com
this is incorrect url http://www.monstermmorpg.commerged
continue
我要提取所有以http/https开头的url
我确实尝试使用这个正则表达式,但我什么也没得到。
$('links').value = stringText.match("\b(?:http://|https://)\S+\b/");
【问题讨论】:
只需将.*?
放在模式的开头和结尾".*?\b(?:http://|https://)\S+\b/.*?"
这是“工作”:jsfiddle.net/PTFBt。至少这是一个开始
顺便说一句,要找到http
或https
,您可以使用:https?:\/\/
而不是|
中的“或”
谁能解释为什么http://www.monstermmorpg.commerged
不正确?
@user2463937 它确实“有效”,但您需要更好地解释您期望发生的事情。这是另一个例子:jsfiddle.net/PTFBt/2
【参考方案1】:
var string = "house home go https://www.monstermmorpg.com hospital "
+" http://www.monstermmorpg.io"
+" this is incorrect url http://www.monstermmorpg.commerged"
.match(/\b(https?:\/\/.*?\.[a-z]2,4\b)/g);
//只有前两个。
["https://www.monstermmorpg.com", "http://www.monstermmorpg.io"]
【讨论】:
我想要一个解释,所以我可以修复它downvoters 我没有对你投反对票,无论如何,这个以上是关于从给定的字符串中提取 url [重复]的主要内容,如果未能解决你的问题,请参考以下文章
从给定字符串中提取 url 的 C# 正则表达式模式 - 不是完整的 html url,而是裸链接
如何从 JavaScript 中的字符串中提取基本 URL?