我試圖從一個四方的URL拉USER_ID發現,像這樣的:設置字符串等於匹配Rails的正則表達式
https://foursquare.com/user/99999999
下面的正則表達式拉正是我需要的東西(一組數字,終止與行末):
\d+$
但是,我不知道如何設置字符串等於匹配的字符。我知道sub和gsub,但這些方法用一個匹配的字符串替代別的東西。
我正在尋找一種方式來專門拉符合我正則表達式(如果存在)的字符串的部分
我試圖從一個四方的URL拉USER_ID發現,像這樣的:設置字符串等於匹配Rails的正則表達式
https://foursquare.com/user/99999999
下面的正則表達式拉正是我需要的東西(一組數字,終止與行末):
\d+$
但是,我不知道如何設置字符串等於匹配的字符。我知道sub和gsub,但這些方法用一個匹配的字符串替代別的東西。
我正在尋找一種方式來專門拉符合我正則表達式(如果存在)的字符串的部分
我喜歡用匹配的回報():
任何包裹在一個捕捉()在正則表達式,被分配到了比賽結果數組
"https://foursquare.com/user/99999999".match(/(\d+)\z/)[1] #=> "99999999"
>> "https://foursquare.com/user/99999999"[/(\d+)\z/, 1]
=> "99999999"
>> "https://foursquare.com/user/99999999" =~ /(\d+)\z/
=> 28
>> $1
=> "99999999"
>> "https://foursquare.com/user/99999999".split('/').last
=> "99999999"
方法有很多種。我個人很喜歡String#[]
雖然
饒有看到有這樣做的多種方式。出於好奇,你能解釋第二個的語法嗎? – 2012-07-17 22:46:45
http://www.ruby-doc.org/core-1.9.3/String.html#method-i-3D-7E 捕獲存儲在$ 1到$ 9 – 2012-07-17 22:49:23
有用的信息。非常感謝你。 – 2012-07-17 22:51:25
非常棒!萬分感謝。 – 2012-07-17 22:45:19