Alguém pode me ajudar a escrever uma expressão regular que poderia encontrar todas as instâncias do seguinte em uma longa seqüência de caracteres>
type="array" count="x" total="y"
onde x e y podem ser números de 1 a 100.
a linguagem é rubi.
Respostas:
5 para resposta № 1Primeiro, como usaremos o regex para um número duas vezes, vamos salvá-lo como sua própria variável. Note que o number
regex é composto de três partes separadas: números de um dígito, números de dois dígitos e números de três dígitos. Essa é uma boa regra para usar ao tentar fazer um regex para corresponder a um intervalo de números. É fácil errar de outra forma (permitindo cadeias como "07"
).
Depois de ter o number
regex, o resto é fácil.
number = /[1-9]|[1-9][0-9]|100/
regex = /type="array" count="#{number}" total="#{number}"/
string.scan(regex)
1 para resposta № 2
Isso retornará uma matriz de correspondências
long_string.scan(/type="array" count="(?:[1-9]d?|100)" total="(?:[1-9]d?|100)")