Страницы

Поиск по вопросам

пятница, 1 февраля 2019 г.

Регулярное выражение: найти все числа не по краям строки

Здравствуйте. Помогите, пожалуйста, составить регулярное выражение. Например:
test = '12asiudas8787hajshd986q756tgs87ta7d6-12js01' test.scan(регулярное_выражение)
В результате должно получиться
["8787", "986", "756", "87", "7", "6", "12"]
Иными словами регулярное выражение как /\d+/, только чтобы числа по краям строки игнорировались.


Ответ

Можно поступить следующим образом
test = '12asiudas8787hajshd986q756tgs87ta7d6-12js01' arr = [] test.scan(/(?<=[^\d])(\d+)(?=[^\d])/) do |match| arr << match[0] end p arr

Комментариев нет:

Отправить комментарий