使用 perl 正则表达式替换的零填充整数
zero padded integer with perl regex substitution
我想用正则表达式替换做一个零填充整数。例如,我有以下字符串:
my $string = '3-7+9-15';
并需要输出:
03-07+09-15
我知道我可以使用 sprintf,但我必须首先检索每个整数执行 sprintf,然后将整数重新连接成一个字符串:(
我想用正则表达式替换一次性完成。可能吗?
my $string = '3-7+9-15';
$string =~ s/\b(\d)\b/0/g;
say $string;
输出:
03-07+09-15
我会选择结合使用 sprintf
和正则表达式替换
use strict;
use warnings 'all';
use feature 'say';
my $s = '3-7+9-15';
$s =~ s{(\d+)}{ sprintf '%02d', }ge;
say $s;
输出
03-07+09-15
我想用正则表达式替换做一个零填充整数。例如,我有以下字符串:
my $string = '3-7+9-15';
并需要输出:
03-07+09-15
我知道我可以使用 sprintf,但我必须首先检索每个整数执行 sprintf,然后将整数重新连接成一个字符串:(
我想用正则表达式替换一次性完成。可能吗?
my $string = '3-7+9-15';
$string =~ s/\b(\d)\b/0/g;
say $string;
输出:
03-07+09-15
我会选择结合使用 sprintf
和正则表达式替换
use strict;
use warnings 'all';
use feature 'say';
my $s = '3-7+9-15';
$s =~ s{(\d+)}{ sprintf '%02d', }ge;
say $s;
输出
03-07+09-15