我尝试了以下内容:
(\([^0-9]*\d+[^0-9]*\))
就此:
Sales rank: 398 (was 644)
但我明白了:
(was 644)
我只需要644
如何修复我的正则表达式以实现这一目标?
答案 0 :(得分:2)
请尝试以下操作:
>> 'Sales rank: 398 (was 644)'[/\d+(?=\))/]
=> "644"
(?=\))
用于断言该模式之后是关闭paren。 (积极向前看)
<强> ALTERNATIVE 强>
>> 'Sales rank: 398 (was 644)'.scan(/\d+/)
=> ["398", "644"]
>> 'Sales rank: 398 (was 644)'.scan(/\d+/).last
=> "644"
答案 1 :(得分:0)
您也可以将这个regex
与@fattru的答案一起使用
(?<=was )\d\d\d
答案 2 :(得分:0)
使用扫描...
>> 'Sales rank: 398 (was 644)'.scan(/\d+/)
=> ["398", "644"]
>> 'Sales rank: 398 (was 644)'.scan(/\d+/).last
=> "644"
由于