我正在使用Ruby on Rails 3.0.7,我想从字符串(或 text )中“提取”所有链接。
此时我有以下正则表达式*以匹配网址和电子邮件地址:
/((\S+)?(@|mailto\:)|((ht|f)tp(s?)\:\/\/)|([www]))\S+/
如果我有以下字符串:
text here http://www.sitename.com and text here www.sitename.com and text here email@sitename.com and text here
我想获得一个数组(或其他一些数据结构)填充上面字符串中的链接。
我该怎么办?
* BTW :正则表达式“足够好”吗?
答案 0 :(得分:0)
也许是这样的:
text = 'text here http://www.sitename.com and text here www.sitename.com and text here email@sitename.com and text here'
links = []
text.split.each do |word|
links << word if word.match(/(((\S+)?)((@|mailto\:)|(((ht|f)tp(s?))\:\/\/)|([www]))\S+)/)
end
puts links