将逗号添加到长数字以获得易读性的正则表达式是什么?

时间:2009-08-02 22:01:35

标签: regex

我想将2333444转换为2,333,444,但我不清楚如何让表达式从右到左依旧,而不是相反。我正在编写Perl,但是任何regEx语法都没问题,如果你对java或javascript更熟悉,我会转换它。

4 个答案:

答案 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

中完成