Fáb*_*rez 6 ruby regex string url parsing
我正在尝试获取给定URL的域名.例如http://www.facebook.com/someuser/将返回facebook.com.给定的URL可以采用以下格式:
https://www.facebook.com/someuser (www.是可选的,但应该被忽略)www.facebook.com/someuser (http://不是必需的)facebook.com/someuserhttp://someuser.tumblr.com- >这tumblr.com只能返回我写了这个正则表达式:
/(?: \.|\/{2})(?: www\.)?([^\/]*)/i
但它没有像我期望的那样起作用.
我可以部分地做到这一点:
http://和https://,如果存在的字符串,string.delete "/https?:\/\//i".www.用string.delete "/www\./i"./(\w+\.\w+)+/i但这不适用于子域.测试字符串:
https://www.facebook.com/username
http://last.fm/user/username
www.google.com
facebook.com/username
http://sub.tumblr.com/
sub.tumblr.com
Run Code Online (Sandbox Code Playgroud)
我需要这个以尽可能少的内存和处理海岸.
有任何想法吗?
Mau*_*res 10
为什么不直接使用URI类来执行此操作?
URI.parse( your_uri ).host
Run Code Online (Sandbox Code Playgroud)
而且你已经完成了.
只有一件事,如果在url的开头没有"http://"或"https://",你将不得不添加一个,或者解析方法不会给你一个主机(它会去是零).
| 归档时间: |
|
| 查看次数: |
6108 次 |
| 最近记录: |