PHPのpreg_replaceを使用していて、文字列を変換しようとしています
abcd
の中へ
(a(b(c(d))))
これは私が持っている最高のものです:
preg_replace('/.(?=(.*$))/', '$0($1)', 'abcd');
// a(bcd)b(cd)c(d)d()
正規表現でも可能ですか?
編集PCRE仕様でこれを発見したばかりReplacements are not subject to re-matching
なので、元のアプローチは機能しません。私の実際のユースケースにはもっと複雑なマッチングロジックがあるので、すべての正規表現を維持したかったのです。