![So prüfen Sie, ob die Zeile das folgende Format hat: XXXX](https://rvso.com/image/164739/So%20pr%C3%BCfen%20Sie%2C%20ob%20die%20Zeile%20das%20folgende%20Format%20hat%3A%20XXXX.png)
Ich habe schon :
$p =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]$
aber das funktioniert nur für Zahlen. Wie kann ich es so machen, dass es Wörter einschließt und unabhängig von der Größe ist.
Zum Beispiel:
this.should.definitely.work
wäre gültig und
this1.should.definitely.work2
wäre auch gültig
Antwort1
Das genaueste Regex-Muster für Ihren Fall wäre:
^[^[:space:].]+\.[^[:space:].]+\.[^[:space:].]+\.[^[:space:].]+$
Antwort2
Ich bin zu dieser Lösung gekommen:
foo="this1.should.definitely.work2"
[[ $foo =~ ^.*\..*\..*\..*$ ]] && echo "match"
Antwort3
Du könntest die Klasse verwenden [[:alnum:]]
, die für Buchstaben und Ziffern steht:
$p =~ ^[[:alnum:]]+\.[[:alnum:]]+\.[[:alnum:]]+\.[[:alnum:]]+$