set phoneNumber 1234567890
这个数字的单个数字,我想用regexp将这个数字分成123 456 7890。不使用拆分功能有可能吗?
答案 0 :(得分:7)
以下代码段:
regexp {(\d{3})(\d{3})(\d{4})} "8144658695" -> areacode first second
puts "($areacode) $first-$second"
(814) 465-8695
这会在模式中使用捕获组,并使用subMatchVar...
替换Tcl regexp
正则表达式模式是:
(\d{3})(\d{3})(\d{4})
\_____/\_____/\_____/
1 2 3
它有3个捕获组(…)
。 \d
是数字字符类的简写。此上下文中的{3}
是“正好重复3次”。
答案 1 :(得分:0)
my($number) = "8144658695";
$number =~ m/(\d\d\d)(\d\d\d)(\d\d\d\d)/;
my $num1 = $1;
my $num2 = $2;
my $num3 = $3;
print $num1 . "\n";
print $num2 . "\n";
print $num3 . "\n";
这是为Perl编写的,并假设数字是您指定的确切格式,希望这会有所帮助。
此网站可能会帮助您使用正则表达式 http://www.troubleshooters.com/codecorn/littperl/perlreg.htm