正则表达式在处理文本方面具有天然优势,但受限于它的可读性和可编程性,我们总会在写出一长串正则表达式后怀疑它是否能如期表现,进而对它进行一系列测试和校验。
本着 DRY 原则,我把曾经用过或学习过的一些优秀的正则表达式整理汇总,记录自己的同时也分享给大家,希望能帮到各位望着正则表达式头皮发麻的同学们。
我相信,总有一款会让你喊出“卧槽”。
一、正则表达式为数字添加千分符
1 | /\B(?=(\d{3})+\b)/; |
- 查找一个“非单词边界”
- [1]后面伴随着“3 的倍数个数字”
- [2]后面伴随着一个“单词边界”
把查找到的“非单词边界”替换成千分符即可
1 | '32132112345123136.123'.replace(/\B(?=(\d{3})+\b)/g, ','); |
缺陷:小数位同样会被处理
1 | '32132112345123136.123123123123'.replace(/\B(?=(\d{3})+\b)/g, ','); |