正则表达式
2021-06-29 10:50 天心PHP 阅读(144) 评论(0) 编辑 收藏 举报https://www.runoob.com/regexp/regexp-tutorial.html
https://deerchao.cn/tutorials/regex/regex.htm#getstarted
数字每隔3位加入逗号
第一种:str.replace(/\B(?=(?:\d{3})+\b)/g, ',');
/\B(?=(?:\d{3})+\b)/g 分析:
1./\B(?=(***)/g 查找***前面的非单词分界符合
2.(?:\d{3})+\b) \b单词分解符前面的三个数字的一组或者多组 +:至少一个 一个是:890 两个:567890 三个:234567890
第二种:(?!\b)(?=(\d{3})+$)
1.(?=(\d{3})+$) 查找 098 098765 098765432 前面的
2.(?!\b)前面非单词分界符
第三种:(?<=[0-9])(?=(?:[0-9]{3})+(?![0-9]))
1.(?<=[0-9]) 查找数字后面的
2.(?![0-9]) 查找 非数字前面的 也可以用\b 单词分解符
3.(?:[0-9]{3})+ 三个数字的倍数
类似 1 234567890 ,1234 567890
例如:str = '1234567890',输出结果为'1,234,567,890'
\B匹配不是单词开头或者结束的位置
(?=exp)匹配exp前面的位置
(?:exp)匹配exp,不捕获匹配的文本,也不给此分组分配组号
\b代表单词分界位置