![如何检查行是否采用以下格式 XXXX](https://linux22.com/image/164739/%E5%A6%82%E4%BD%95%E6%A3%80%E6%9F%A5%E8%A1%8C%E6%98%AF%E5%90%A6%E9%87%87%E7%94%A8%E4%BB%A5%E4%B8%8B%E6%A0%BC%E5%BC%8F%20XXXX.png)
我已经有了 :
$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:]]+$