正規表現の囲み文字を変更する - m//

Perlでは正規表現の囲み文字を変更することができます。

正規表現はパターンマッチ演算子を組み合わせて以下のように書くことができましたね。

$string =~ /cat/

でもここで、たとえば、URLのパスにマッチさせたい場合を考えてみてください。スラッシュをエスケープして次のように書けます。

$string =~ /\/foo\/bar\/baz/

ちょっと読みずらくないですか。Perlではこんな場合、正規表現の囲み文字「/」を別の囲み文字に変える方法があります。次のように書きます。

$string =~ m|/foo/bar/baz|

先頭に「m」を付けて、囲み文字を別のものに変更します。以下の組み合わせなどが囲み文字としてつかえます。

m|正規表現|
m#正規表現#
m!正規表現!

sを使って置換をする場合も同じように利用できます。

s|正規表現|置換後の文字列|
s#正規表現#置換後の文字列#
s!正規表現!置換後の文字列!
Perlテキスト処理のエッセンス
  • 初級者向け・テキスト処理と正規表現の基本をマスター
業務に役立つPerl
  • 実務者向け・ログ解析など日本語を含むテキスト処理の実践!
Perlクラブ
  • 仲間と出会い
    ゆとりあるエンジニアライフを送る