Eu já tenho :
$p =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]$
mas isso só funciona para números, como posso fazer com que inclua palavras e independente do tamanho.
Por exemplo:
this.should.definitely.work
seria válido e
this1.should.definitely.work2
também seria válido
Responder1
O padrão regex mais preciso para o seu caso seria:
^[^[:space:].]+\.[^[:space:].]+\.[^[:space:].]+\.[^[:space:].]+$
Responder2
Cheguei a esta solução:
foo="this1.should.definitely.work2"
[[ $foo =~ ^.*\..*\..*\..*$ ]] && echo "match"
Responder3
Você poderia usar a [[:alnum:]]
classe que significa letras e dígitos:
$p =~ ^[[:alnum:]]+\.[[:alnum:]]+\.[[:alnum:]]+\.[[:alnum:]]+$