我正在使用 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
,所以我原来的方法行不通。我想保留所有正则表达式,因为在我的实际用例中有一些更复杂的匹配逻辑。
最佳答案
怎么样:
preg_replace('/./s', '($0', 'abcd') . str_repeat(')', strlen('abcd'));
?
(这算作“使用正则表达式”吗?)
关于php - 将 abcd 转换为 (a(b(c(d)))) 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12647412/