/ / Regular Expression ajuda em Ruby - ruby, regex

Regular Expression ajuda em Ruby - ruby, regex

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 № 1

Primeiro, 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)")