🖥

bash / sh | 文字列の「ドット」を正規表現でマッチさせる

2023/08/26に公開

結論

[[ TEXT =~ \. ]]

と書けば良い。

検証

dot_regexp.sh
[[ d.o.t =~ \. ]] && echo "Alisa meets dot." # => マッチする

[[ d.o.t =~ \\. ]] && echo "Bonansa meets dot." # => バックスラッシュが二個だと無理

[[ d.o.t =~ "\." ]] && echo "Creature meets dot." # => 文字列で囲うと無理

[[ d.o.t =~ "\\." ]] && echo "Dead man meets dot." # => 文字列で囲うと無理

[[ d.o.t =~ "\." ]] && echo "Edmond Honda meets dot." # => ダブルクオーテーションで囲っても無理

[[ d.o.t =~ "\\." ]] && echo "Fuishigidane meets dot." # => ダブルクオーテーションで囲っても無理

[[ dot =~ \. ]] && echo "Gummi chocolate pine meets dot." # => マッチしないのが正解

結果

アリサだけがドットを見つけられる。

$ sh dot_regexp.sh

Alisa meets dot.

補足

zsh だと挙動が違う様子。

環境

  • sh 3.2

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2016-06-17

Discussion