正则表达式的十进制数

时间:2013-09-18 16:38:43

标签: javascript regex

我使用了以下正则表达式

var x=32423332.343;
var res= x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");

,输出为32,423,332.343

如何修改此正则表达式(最短路径)以获得以下输出

3,24,23,332.343

1 个答案:

答案 0 :(得分:1)

好吧,如果你想要,你可以稍微修改你的正则表达式:

\B(?=(?:\d{2})*\d{3}(?!\d))

regex101 demo

(?:\d{2})*将匹配最终\d{3}之前的偶数位数。

对于PCRE引擎,可以处理整数和浮动的引擎,并启用g

\G\d{1,2}\K\B(?=(?:\d{2})*\d{3}(?!\d))