正規表現の記述で、m{}と書くサンプルを目にしたのですが、このmと中括弧は何を意味するのでしょうか?

以下、Hタグにマッチするかをテストする正規表現のサンプルです。
$_ = "<H3>ヘッダ3</H3>";
if ( m{<(H\d)>(.+)</\1>} ) {
print "found!!";
}

このQ&Aに関連する最新のQ&A

A 回答 (1件)

「m」は正規表現マッチで、


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

YAMAMAYA様、回答ありがとうございます。

m//の区切り文字は、##や{}や<>や()に変えられるということですね。
初めて知りました。

スラッシュが含まれる正規表現を書く場合は、たしかに分かりやすいですね。

お礼日時:2007/02/08 13:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング