求助js正则表达式:将数字转换为3位一个逗号分割的形式
function seperator(num) { if(!num){ return 0.00 } //toFixed()方法可以把Number四舍五入为指定位数的数字 let str=parseFloat(num).toFixed(2); //"?="表示查询的要满足的条件, return str&&str.toString().replace(/(\d)(?=(\d{3})+\.)/g,function ($0,$1) { return $1+',' }) }
最后的return语句看不太懂,是递归调用的吗?
replace里面的function的($0,$1)是不是分别代表匹配到的整个字符串和第一个子字符串。
那么第一次$1是最开始匹配到的要加,的最高位吗?后面又是怎么进行的呢?
为什么这个正则表达式可以匹配多次
(js入门的渣渣遇到正则表达式在线哭泣了,网上也没有搜到细致的讲解)