PHPにはpreg_matchやpreg_replaceという関数があります。正規表現を使って検索、置換するためのものです。
これらの関数は「preg_match(“/.*/i”,$str)」のように使います。この「/.*/i」の「i」の部分がパターン修飾子です。
よく使うものについてまとめます。
「g」
JavaScriptでは、複数回の検索(合致する文字列全て)で使用しますが、PHP(preg系)では「g」は使いません。
検索については「preg_match_all」を使います。
置換については「preg_replace」を使い、「g」を指定しなくても複数回の検索をすることになっています。
「i」
大文字と小文字を区別しません。
「m」
正規表現では、”^”で文字列の先頭、”$”で末尾にマッチしますが、修飾子「m」を使うと改行の直前と直後にもマッチします。
「m」を使わないと「abc123xyz\nabc456xyz」にマッチします。
「m」を使うと「abc123xyz」「abc456xyz」にマッチします。
「s」
正規表現の”.”は「改行以外の任意の文字」ですが、修飾子「s」を使うと「改行を含む任意の文字」にマッチするようになります。
「u」
UTF-8として処理されます。日本語(漢字)を使う場合に指定するとうまくいく場合があります。
コメント
[…] このサイトの説明が直感的でわかりやすかった。 https://stabucky.com/wp/archives/4539 […]
[…] PHP の正規表現 (preg系) のパターン修飾子 | You Look Too Cool […]