![行が次の形式であるかどうかを確認する方法 XXXX](https://rvso.com/image/164739/%E8%A1%8C%E3%81%8C%E6%AC%A1%E3%81%AE%E5%BD%A2%E5%BC%8F%E3%81%A7%E3%81%82%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%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:]]+$