Как использовать регулярное выражение ruby, чтобы получить подстроку? - PullRequest
2 голосов
/ 18 августа 2010

Я хочу получить числа из строк, такие как:

person_3<br> person_34<br> person_356<br> city_4<br> city_15
и т.д ...

Мне кажется, что должно работать следующее:

string[/[0-9]*/]

но это всегда выплевывает пустую строку.

1 Ответ

9 голосов
/ 18 августа 2010

[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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...