使用正則表達式每3位數字加逗號


總結一下,在數字中增加逗號的方法,把一般情況都考慮之中.提供思路給大家參考下

 

#!/usr/bin/perl

use strict;
use warnings;
my $num = 1234556789;
#純數據模式
$num =~ s/(?<=\d)(?=(\d{3})+$)/,/g;
print $num,"\n";
#帶有小數點模式
$num = 123456.1234;
$num =~ s/(?<!\.\d)(?<=\d)(?=(\d{3})+\b)/,/g;
print $num,"\n";
#大於5位之后。。。
#\K 模式,可變長否定向后環視;\K容許在它之前的模式只匹配而不被替換。替換操作只對\K之后的字符串部分有效。
$num = 123456.12345;
$num =~ s/(?<!\.)(?:\b|\G)\d+?\K(?=(\d{3})+\b)/,/g;
print $num,"\n";

 

 
OUTPUT:
1,234,556,789
123,456.1234
123,456.12345


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM