如何檢查行是否採用以下格式 XXXX

如何檢查行是否採用以下格式 XXXX

我已經有了 :

$p =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]$

但這僅適用於數字,我怎樣才能使其包含單字並且無論大小。

例如:

this.should.definitely.work  

將是有效的並且

this1.should.definitely.work2 

也有效

答案1

對於您的情況來說,最準確的正規表示式模式是:

^[^[:space:].]+\.[^[:space:].]+\.[^[:space:].]+\.[^[:space:].]+$

答案2

我已經找到了這個解決方案:

foo="this1.should.definitely.work2"
[[ $foo =~ ^.*\..*\..*\..*$ ]] && echo "match" 

答案3

您可以使用[[:alnum:]]代表字母和數字的類別:

$p =~ ^[[:alnum:]]+\.[[:alnum:]]+\.[[:alnum:]]+\.[[:alnum:]]+$

相關內容