从给定的字符串中提取 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。至少这是一个开始 顺便说一句,要找到httphttps,您可以使用: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 我没有对你投反对票,无论如何,这个 对我有用。谢谢你的帮助。 你会在那个小提琴上得到 www.monstermmorpg.commerged 是的,我注意到了,我会使用你的正则表达式来避免这个问题,非常感谢。

以上是关于从给定的字符串中提取 url [重复]的主要内容,如果未能解决你的问题,请参考以下文章

从给定字符串中提取 url 的 C# 正则表达式模式 - 不是完整的 html url,而是裸链接

从Javascript中的URL中提取一部分[重复]

如何从 JavaScript 中的字符串中提取基本 URL?

java 从一个URL中提取特定子字符串保存

正则表达式使用 Python 从 HTML 中的 href 属性中提取 URL [重复]

从javascript中的字符串中提取数字[重复]