Ruby 有没有完美一点的方法来 parse url?URI.extract 遇到冒号就傻了

cqpx · January 10, 2012 · Last by cqpx replied at February 04, 2012 · 5585 hits
ruby-1.9.3-p0 :007 > URI.extract("haha http://google.com, Active::Record, jquery.js:")
 => ["http://google.com", "Active::Record,", "jquery.js:"]

自己写正则呢,一个是本来正则就不太熟悉,二个是怕考虑不全面,ruby-china 解析 url 的办法也有问题。

请问有没有完美一点的 url 解析办法?

谢谢

我们的项目中也遇到这个问题,我们的方法是参照 Twitter 的做法,Twitter 有个开源项目叫做 twitter-text-rb https://github.com/twitter/twitter-text-rb

里面有个 autolink 方法,考虑的比较全面,也附有测试用例,你试试看提取这个 autolink 的实现是否符合你的需求:https://github.com/twitter/twitter-text-rb/blob/master/lib/autolink.rb

#1 楼 @lgn21st 多谢大哥指点,找到了满意的方案 具体来讲就是用https://github.com/twitter/twitter-text-rb/blob/master/lib/regex.rb里面的Twitter::Regex::REGEXEN[:valid_url]

You need to Sign in before reply, if you don't have an account, please Sign up first.