我需要使用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";
Run Code Online (Sandbox Code Playgroud)
我预计: 2y2y2 xx 2x 2y2x 2y2y2y2y2
但结果是:( 2y2x2 2x 2y2x 2y2x2y2x2并非所有2x2都改变了)
我该怎么办?
试试下面的正则表达式:
s/(?<=\d)x(?=\d)/y/g
Run Code Online (Sandbox Code Playgroud)