代码之家  ›  专栏  ›  技术社区  ›  Yevgeny Simkin

为易读性在长数字中添加逗号的regex是什么?

  •  2
  • Yevgeny Simkin  · 技术社区  · 16 年前

    我想将2333444转换为2333444,但我不清楚如何让表达式从右向左工作,而不是从右向左。我正在编写Perl,但是任何正则表达式语法都很好,如果您对Java或JavaScript更舒服,我将转换它。

    4 回复  |  直到 16 年前
        1
  •  4
  •   Paul van Brenk    16 年前
    s/(?<=\d)(?=(\d\d\d)+(?!\d))/,/g
    
        2
  •  4
  •   Brian Agnew    16 年前

    退房 Number::Format . 此模块提供各种数字格式解决方案。例如,你需要什么

      format_number(1234567.89, 2)          
    

    收益率“1234567.89”

    别忘了,您要做的是特定于区域设置的工作,这个模块将为您处理这些工作。一个简单的regexp解决方案本身不会做到这一点。

        3
  •  3
  •   Bill the Lizard    16 年前

    你想用 Number:Format 扩展名,而不是正则表达式。您需要指定 THOUSANDS_SEP= ',' .

        4
  •  2
  •   ennuikiller    16 年前

    S/(?)=?d)(?)=(\d\d)+(?)!\d))

    这将在Perl风格的regexs中实现。