如何检查行是否采用以下格式 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:]]+$

相关内容