我在ruby中使用URI模塊來匹配URL。Ruby URI - 匹配URL的一部分
require 'uri'
url = URI"http://matchme.projects.foo.com"
需要匹配url的matchme部分並將其放入一個變量中。 url的matchme部分將始終位於http://之後,並且位於下一個「.projects」之前。
我正在嘗試url.scheme
它給了我「http」,如何從那裏繼續並匹配我的字符串。 比賽部分不斷變化。
我在ruby中使用URI模塊來匹配URL。Ruby URI - 匹配URL的一部分
require 'uri'
url = URI"http://matchme.projects.foo.com"
需要匹配url的matchme部分並將其放入一個變量中。 url的matchme部分將始終位於http://之後,並且位於下一個「.projects」之前。
我正在嘗試url.scheme
它給了我「http」,如何從那裏繼續並匹配我的字符串。 比賽部分不斷變化。
可以使用正則表達式等
"http://matchme.projects.foo.com"[/http:\/\/([a-z0-9\-]*).*/,1]
=> matchme
或
如果請求對象可用,則
request.subdomains[0]
會給你最深子域。
儘管我最初認爲URI會很有用。我認爲通過使用正則表達式進行匹配會更有效。謝謝 – Supersonic 2013-02-12 07:54:47
如果'matchme'可能是'ma.tch.me'則更好的正則表達式應該是'[/ http:\/\ /(。*)\。projects。* /,1]' – 2013-02-12 07:56:21
很高興,它幫助: ) – 2013-02-12 07:58:25
'URI.parse(url).host' – 2013-02-12 07:39:30