チョコパイを240こ食べたエンジニア

PHPエンジニアをやった後、現在はフロントエンドエンジニアに・・。好物は『チョコパイと焼き鳥』。Twitterは@chooringo(ちょうりんご)

PHP正規表現で一部の文字を保持しつつ、一部の文字を置換したい~第1弾キャプチャとは~

ある一部の文字列を保持しつつ、他を置き換えたいときの正規表現の書き方の第1弾のメモっっ
正規表現なんて嫌いだっっ(◞‸◟ㆀ)ショボン

とかく、まずはキャプチャてなんじゃろってところを。
※以下、phpで書いている※

例えば、
置換しようと思うと正規表現で以下のようなコードになる。

$subject     = "ちょこぶどうりんご";
$pattern     = "/(ちょこ)(ぶどう)(りんご)/";
$replacement = "$1パイ $2パイ $3パイ";
preg_replace($pattern, $replacement, $subject)

とやると置換後のようになる。
()で囲むと、グループ化され、それがキャプチャ(保持)される。

$replacementに書いている、
$1にはちょこ
$2にはぶどう
$3にはりんご
が左から順にキャプチャされて入っている。
で、

置換前:
ちょこぶどうりんご

置換後:
ちょこパイ ぶどうパイ りんごパイ

となる。


というここまでが準備段階として書いておくっっ
本当にやりたいことは次の記事に書きますっっ