0

我使用了以下正则表达式

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

输出为 32,423,332.343

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

3,24,23,332.343

4

1 回答 1

1

好吧,如果你愿意,你可以稍微修改一下你的正则表达式:

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

正则表达式101演示

(?:\d{2})*将匹配最后的偶数位数\d{3}

对于 PCRE 引擎,可以处理整数和浮点数,g启用。

\G\d{1,2}\K\B(?=(?:\d{2})*\d{3}(?!\d))
于 2013-09-18T16:44:54.983 回答