小ネタばかりになってしまう。
PHPにて、正規表現で置換をしようと思ったが、後方参照のすぐ後ろに数字が来た時、どうもうまく動いてくれなかった。
preg_replace('/^(.*)test/', '$1123', 'aaaaatest');
うろ覚えだがこんな感じ。
aaaaa123
という結果を期待するも、
23
という結果となってしまう。
どうすればいいものか、と考えていたが、答えは公式マニュアルに書いてあった。
preg_replace('/^(.*)test/', '${1}123', 'aaaaatest');
後方参照に使う数字は{}で囲めば、期待した結果となる。
後方参照の場合は、後ろに数字がつかなくても明示的に{}で囲むようにしたほうがいいのだろうか。