js金钱分割,正则
2024-09-03 20:05:13
```
var test1 = '1234567890'
var format = test1.replace(/\B(?=(\d{3})+(?!\d))/g, ',')
"1,234,567,890"
```
1.分析正则,先分析第一部分 只有匹配到非词的边界在`(\d{3})+(?!\d)`前面才匹配。
2.分析第二部分 `(\d{3})+(?!\d)` 只有`\d{3})+`不再`\d`前面才匹配,即`\d{3})+`匹配完整个数据不能留有多余的数字才算匹配成功 。
3.`\d{3})+` 这部分就是匹配3个数字1至多次。
总结 正则的先行断言 a(?=b) 只有a在b前面才匹配 ,正则的先行否定断言a(?!b)只有a不再b前面才匹配
最新文章
- 深入理解javascript函数参数与闭包(一)
- linQ学习笔记之二简单的linq使用
- 使用urllib2打开网页的三种方法
- POI2012
- 请确认 <;Import>; 声明中的路径正确,且磁盘上存在该文件。
- .NET软件工程师面试总结
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)C. Bear and Poker
- 创建带sshd服务的docker image
- pureftpd安装配置-pureftp参数详解(一)
- css link和@import区别用法
- (原)使用opencv的warpAffine函数对图像进行旋转
- linux shell--算术运算
- InstallShield自定义安装界面
- find与tar的结合使用
- hdu-5786(补图最短路)
- ScheduledThreadPoolExecutor Usage
- cumsum累计函数系列:pd.cumsum()、pd.cumprod()、pd.cummax()、pd.cummin()
- 第二章&#160;向量(c)无序向量
- spring的controller默认是单例还是多例
- python-opencv boundingRect使用注意