Хто-небудь може допомогти мені написати регулярний вираз, який міг би знайти всі екземпляри наступного в довгому рядку>
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)")