【问题标题】:Extract urls from given string [duplicate]从给定的字符串中提取 url [重复]
【发布时间】: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

标签: javascript regex


【解决方案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
  • 是的,我注意到了,我会使用你的正则表达式来避免这个问题,非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-02
  • 1970-01-01
  • 2015-08-03
  • 1970-01-01
  • 2021-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多