我正在使用 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/

10-12 06:07