• ベストアンサー

正規表現のm{}

正規表現の記述で、m{}と書くサンプルを目にしたのですが、このmと中括弧は何を意味するのでしょうか? 以下、Hタグにマッチするかをテストする正規表現のサンプルです。 $_ = "<H3>ヘッダ3</H3>"; if ( m{<(H\d)>(.+)</\1>} ) { print "found!!"; }

質問者が選んだベストアンサー

  • ベストアンサー
noname#43437
noname#43437
回答No.1

「m」は正規表現マッチで、 通常の /・・・・/ と基本的に同じ働きです。 違うところは、mの後に非英数字や各種括弧(), <>, {}, []を使って、 正規表現を括ることができることです。 すなわち、  /abc*/  m#abc*#  m{abc*} などは、全部同じ意味です。 スラッシュがたくさんはいる正規表現を書くときなど、いちいちエスケープしなくて良いので便利、ですね。

hiro--pon
質問者

お礼

YAMAMAYA様、回答ありがとうございます。 m//の区切り文字は、##や{}や<>や()に変えられるということですね。 初めて知りました。 スラッシュが含まれる正規表現を書く場合は、たしかに分かりやすいですね。

関連するQ&A