🖥
bash / sh | 文字列の「ドット」を正規表現でマッチさせる
結論
[[ 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オープンチャットもご利用ください。
公開日時
2016-06-17
Discussion