/ Допомога в регулярному вираженні в Ruby - ruby, regex

Довідка Regular Expression у Ruby - рубінові, регулярні вирази

Хто-небудь може допомогти мені написати регулярний вираз, який міг би знайти всі екземпляри наступного в довгому рядку>

type="array" count="x" total="y"

де x і y можуть бути будь-якими числами від 1 до 100.

Мова - рубін.

Відповіді:

5 за відповідь № 1

По-перше, оскільки ми використаємо регулярний вираз для числа в два рази, ми збережемо його як свою власну змінну. Зверніть увагу, що number regex складається з трьох окремих частин: однозначні цифри, двозначні цифри та тризначні числа. Це гарне емпіричне правило, яке можна використовувати при спробі зробити регулярний вираз для відповідності ряду чисел. Інакше легко помилитися (дозволяючи подібні рядки "07")

Як тільки у вас є number режекс, інше легко.

number = /[1-9]|[1-9][0-9]|100/
regex  = /type="array" count="#{number}" total="#{number}"/
string.scan(regex)

1 для відповіді № 2

Це поверне масив збігів

long_string.scan(/type="array" count="(?:[1-9]d?|100)" total="(?:[1-9]d?|100)")