¥bHOGE¥b
のように¥b
で文字を囲うと、その文字に完全一致する正規表現になります。¥b
は単語境界にマッチするメタ文字です。ここで単語とはa-z
, A-Z
, 0-9
, _
から構成されます(英数字とアンダーバー)。
変換前
sky
->sky
blue->sky[0]
blue.sky[0]
blue_sky
コマンド
上記のskyをmoonに変えたい場合、正規表現をs/\bsky\b/moon/g
のようにすると、単語のsky
のみにマッチします。ちなみにs/sky/moon/g
にするとblue_sky
まで変換されてしまいます。
perl -wpln -e 's/\bsky\b/moon/g' ./tp.txt > tp_rep.txt
変換後
moon
->moon
blue->moon[0]
blue.moon[0]
blue_sky
意図通り変換されています。