正则表达式

https://www.runoob.com/regexp/regexp-tutorial.html

https://deerchao.cn/tutorials/regex/regex.htm#getstarted

数字每隔3位加入逗号

第一种:str.replace(/B(?=(?:d{3})+)/g, ',');

/B(?=(?:d{3})+)/g 分析:

1./B(?=(***)/g  查找***前面的非单词分界符合

2.(?:d{3})+)   单词分解符前面的三个数字的一组或者多组    +:至少一个   一个是:890 两个:567890  三个:234567890

 第二种:(?!)(?=(d{3})+$)

 1.(?=(d{3})+$) 查找  098  098765 098765432 前面的

2.(?!)前面非单词分界符

第三种:(?<=[0-9])(?=(?:[0-9]{3})+(?![0-9]))

1.(?<=[0-9]) 查找数字后面的

2.(?![0-9]) 查找 非数字前面的 也可以用 单词分解符

3.(?:[0-9]{3})+  三个数字的倍数

类似 1 234567890  ,1234 567890

例如:str = '1234567890',输出结果为'1,234,567,890'
B匹配不是单词开头或者结束的位置
(?=exp)匹配exp前面的位置
(?:exp)匹配exp,不捕获匹配的文本,也不给此分组分配组号
代表单词分界位置

原文地址:https://www.cnblogs.com/xiangshihua/p/14948937.html