substation regex,带捕获
也许这是个愚蠢的问题,但是: 我运行perl 5.8.8,需要将任何带数字的下划线替换为0 运行: 显然不起作用,因为10美元被解释为。。。嗯$10,而不是后面跟0的1美元 此外,正如运行perl5.8一样,我不能这样做substation regex,带捕获,regex,perl,Regex,Perl,也许这是个愚蠢的问题,但是: 我运行perl 5.8.8,需要将任何带数字的下划线替换为0 运行: 显然不起作用,因为10美元被解释为。。。嗯$10,而不是后面跟0的1美元 此外,正如运行perl5.8一样,我不能这样做 $var=~s/(?<n1>\d)\_/$+{n1}0/g; 有什么想法吗? 提前感谢$var=~s/\d\u/${1}0/g $var=~s/\d\u/${1}0/g 就像在各种Unix shell中一样,可以将变量名括在大括号中以消除歧义 $var =~s /(\d)
$var=~s/(?<n1>\d)\_/$+{n1}0/g;
有什么想法吗?
提前感谢$var=~s/\d\u/${1}0/g $var=~s/\d\u/${1}0/g 就像在各种Unix shell中一样,可以将变量名括在大括号中以消除歧义
$var =~s /(\d)_/${1}0/g;
或者,您可以使用“向后看”来防止数字成为匹配的一部分:
$var =~s /(?<=\d)_/0/g;
就像在各种Unix shell中一样,可以将变量名括在大括号中以消除歧义
$var =~s /(\d)_/${1}0/g;
或者,您可以使用“向后看”来防止数字成为匹配的一部分:
$var =~s /(?<=\d)_/0/g;
另一种可能性不确定是否适用于perl 5.8.8
s/\d\K_/0/
s/(?<=\d)_/0/
另一种可能性不确定是否适用于perl 5.8.8
s/\d\K_/0/
s/(?<=\d)_/0/
这也是在断言后面进行零宽度查找的好地方:
$var =~ s/(?<=\d)_/0/g;
它寻找一个数字,但实际上没有将数字转换成匹配的文本。这也是在断言后面进行零宽度查找的好地方:
$var =~ s/(?<=\d)_/0/g;
它寻找一个数字,但实际上没有将数字转换成匹配的文本。就是这样。非常感谢你,穆奇!就是这样。非常感谢你,穆奇!对不起,我说我需要替换下划线,这意味着我把数字放在它的前面。对不起,我说我需要替换下划线,这意味着我把数字放在它的前面