Considere este código:
s1="1,2,3,4"; \
s2="1,2,3"; \
sP='^(([1-9][0-9]{0,},){1,2}){1,2}$'; \
[[ "${s1}," =~ $sP ]] && echo "\$s1 matches"; \
[[ "${s2}," =~ $sP ]] && echo "\$s2 matches, but why?"
Estou perplexo com o motivo pelo qual a segunda corda é correspondida. Meu regex é defeituoso? É suposto combinar 2 ou 4 "elementos".
Como não consigo editar minha pergunta, aqui vai: eu gostaria de combinar 1, 2 ou 4 instâncias da sequência de dígitos (esqueci a 1, que requer o quantificador interno "combinado" de '{1,2}')
—
Você pode usar o seguinte comando
O ponto principal da minha pergunta deve ser: "Por que não funciona dessa maneira"? Do que eu senti falta?
—
user584029