我需要用
regexp处理字符串,如果是数字则更改x-> y.
字符串:2x2x2 2x 2x2x 2x2x2x2x2
正则表达式:s /([0-9])x([0-9])/ $1y $2 / g
my $string = "2x2x2 2x 2x2x 2x2x2x2x2"; $string =~ s/([0-9])x([0-9])/$1y$2/g; print "$string\n";
我期待:2y2y2 xx 2x 2y2x 2y2y2y2y2
但结果:2y2x2 2x 2y2x 2y2x2y2x2(并非所有2×2都改变了)
我该怎么办?
解决方法
试试下面的正则表达式:
s/(?<=\d)x(?=\d)/y/g