
Ya tengo :
$p =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]$
pero esto solo funciona para números, ¿cómo puedo hacer para que incluya palabras y sin importar el tamaño?
Por ejemplo:
this.should.definitely.work
sería válido y
this1.should.definitely.work2
Sería válido también
Respuesta1
El patrón de expresiones regulares más preciso para su caso sería:
^[^[:space:].]+\.[^[:space:].]+\.[^[:space:].]+\.[^[:space:].]+$
Respuesta2
He llegado a esta solución:
foo="this1.should.definitely.work2"
[[ $foo =~ ^.*\..*\..*\..*$ ]] && echo "match"
Respuesta3
Podrías usar la [[:alnum:]]
clase que significa letras y dígitos:
$p =~ ^[[:alnum:]]+\.[[:alnum:]]+\.[[:alnum:]]+\.[[:alnum:]]+$