0

私は次のことを試しました:

(\([^0-9]*\d+[^0-9]*\))

これについて:

Sales rank: 398 (was 644)

しかし、私はこれを取得します:

(was 644)

私だけが必要です644

それを達成するために正規表現を修正するにはどうすればよいですか?

4

3 に答える 3

2

以下を試してください:

>> 'Sales rank: 398 (was 644)'[/\d+(?=\))/]
=> "644"

(?=\))パターンの後に閉じ括弧が続くことをアサートするために使用されました。(前向きな先読み)

>> 'Sales rank: 398 (was 644)'.scan(/\d+/)
=> ["398", "644"]
>> 'Sales rank: 398 (was 644)'.scan(/\d+/).last
=> "644"
于 2013-08-27T08:23:23.277 に答える
0

スキャンを使用...

 >> 'Sales rank: 398 (was 644)'.scan(/\d+/)
 => ["398", "644"]
 >> 'Sales rank: 398 (was 644)'.scan(/\d+/).last
 => "644"

ありがとう

于 2013-08-27T08:56:36.257 に答える