如何使用ruby正则表达式获取子字符串?

时间:2010-08-18 18:30:08

标签: ruby regex string substring

我想从字符串中获取数字,例如:

person_3
person_34
person_356
city_4
city_15

等...

在我看来,以下内容应该有效:

string[/[0-9]*/]

但这总是吐出一个空字符串。

1 个答案:

答案 0 :(得分:9)

[0-9]*成功匹配字符串开头的“0或更多”数字,因此返回""[0-9]+将匹配“1个或更多”数字,并按预期工作:

irb(main):001:0> x = "test 92"
=> "test 92"
irb(main):003:0> x[/\d*/]
=> ""
irb(main):005:0> x.index(/\d*/)
=> 0
irb(main):004:0> x[/\d+/]
=> "92"