質問: preg_replace($pattern,$replace,$content); ``` 上記正規表現のコードは、「(.*)」と「$1」の部分が対応しているとのことなのですが、「$1」とはなんなのでしょうか? 正規表現において、「$」マークが行末を示すというのは理解しているのですが、今回のコードでは、「1」といった謎の数字が含まれています。これには何か意味があるのでしょうか?
回答: PHP: 後方参照 - Manual 正規表現に備わる機能の一つです。 -- 余談。 読み進めると気になる記述もあって。 > > 後方参照は、カレントの対象文字列においてキャプチャ用サブパターンが 実際にマッチした文字列にマッチします。 > > > の下り、 > > すなわち、パターン > > > (sens|respons)e and \1ibility > > > は、"sense and sensibility" および "response and responsibility" にマッチしますが、 "sense and responsibility" にはマッチしません。 > > > にあるように、今マッチングをかけようとする文字列の中でもすぐに後方参照が使えたりします。 この場面では$じゃなくて¥だったりします。