perl正则表达式匹配零长度字符

时间:2012-01-26 15:44:52

标签: regex perl

例如:

$ perl -pe 's/(.)\G/{$1}/g'
abcd

结果是:

{}{a}{b}{c}{d}

第一个句点(。)匹配为零长度。这是一个错误还是一个功能?

1 个答案:

答案 0 :(得分:7)

对我来说,结果是“abcd”,因为/(.)\G/g永远不能匹配 - 从当前位置开始,当前位置如何匹配单个字符? “abcd”上的s/\G(.)/{$1}/g会产生“{a} {b} {c} {d}”,这是预期的。