3

次のように、foursquareURLからuser_idを取得しようとしています。

 https://foursquare.com/user/99999999

次の正規表現は、必要なもの(行の終わりで終わる一連の数字)を正確に取得します。

\d+$

ただし、一致した文字と同じ文字列を設定する方法がわかりません。私はsubとgsubを知っていますが、これらのメソッドは一致した文字列を他のものに置き換えます。

正規表現に一致する文字列のセクションを具体的にプルする方法を探しています(存在する場合)

4

2 に答える 2

10

私はmatch()のリターンを使用するのが好きです:

正規表現のキャプチャ()でラップされたものはすべて、一致結果の配列に割り当てられます

"https://foursquare.com/user/99999999".match(/(\d+)\z/)[1] #=> "99999999"
于 2012-07-17T21:52:42.900 に答える
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"

多くの方法があります。個人的には好きString#[]です

于 2012-07-17T21:50:01.153 に答える