使用scan方法从Ruby中拉出此字符串中的所有URL

时间:2016-10-28 17:57:21

标签: ruby regex

我搜索得很远但找不到有效的答案。请测试任何链接或“已在此处回答”的回复。我一直在寻找3个小时。

这是我的字符串。即使http(s)不存在,也要拔出所有6个URL。

“此字符串包含一些网址。例如,它有Google.com和Google.com/stuff,然后您可以看到Joe.mysite.co和http://pete.com这些都应该被检测到,例如{{ 3}}或https://wtf.net

2 个答案:

答案 0 :(得分:2)

您可以使用Twitter text来提取网址

答案 1 :(得分:1)

给出s你的字符串

s.scan(/((http(s)?:\/\/)?(\w*\.){0,1}(\w)+\.(co(m)?|net)+(\/(\w)*)*)/).map(&:first)
 => ["Google.com", "Google.com/stuff", "Joe.mysite.co", "http://pete.com", "https://wtf.net", "http://mystuff.com/apathe/433"]