我需要使用正则表达式处理字符串并更改 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
(并非所有 2x2 都改变了)我该怎么办?
最佳答案
试试下面的正则表达式:
s/(?<=\d)x(?=\d)/y/g
关于regex - 珀尔。正则表达式只工作一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12757696/