我想将2333444转换为2,333,444,但我不清楚如何让表达式从右到左依旧,而不是相反。我正在编写Perl,但是任何regEx语法都没问题,如果你对java或javascript更熟悉,我会转换它。
答案 0 :(得分:4)
结帐Number::Format。该模块提供各种数字格式化解决方案。例如满足您的需求
format_number(1234567.89, 2)
收益率为1,234,567.89'
不要忘记您尝试执行的操作是特定于语言环境的,此模块将为您处理。一个简单的正则表达式解决方案不会单独使用它。
答案 1 :(得分:4)
s/(?<=\d)(?=(\d\d\d)+(?!\d))/,/g
答案 2 :(得分:3)
您想要使用Number:Format扩展名,而不是正则表达式。您需要指定THOUSANDS_SEP= ','
。
答案 3 :(得分:2)
S /(小于?= \ d)(?!=(\ d \ d \ d)+(\ d))/,/克
这将在perl样式regexs
中完成