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