设置字符串等于Rails正则表达式找到的匹配项

Ada*_*ton 2 regex string ruby-on-rails

我试图从foursquare网址中提取user_id,如下所示:

 https://foursquare.com/user/99999999
Run Code Online (Sandbox Code Playgroud)

以下正则表达式正是我所需要的(一系列以行尾结束的数字):

\d+$
Run Code Online (Sandbox Code Playgroud)

但是,我不确定如何设置一个等于匹配字符的字符串.我知道sub和gsub,但是这些方法用匹配的字符串代替其他东西.

我正在寻找一种方法来专门拉出与我的正则表达式匹配的字符串部分(如果它存在)

Uni*_*key 8

我喜欢使用match()的返回:

包含在正则表达式中的capture()中的任何内容都会被分配给匹配结果数组

"https://foursquare.com/user/99999999".match(/(\d+)\z/)[1] #=> "99999999"
Run Code Online (Sandbox Code Playgroud)


Lee*_*vis 5

>> "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"
Run Code Online (Sandbox Code Playgroud)

有很多方法.我个人非常喜欢String#[],虽然