帮我理解这个正则表达式,实在搞不懂
下面是千分位格式化的正则表达式,传入1234567890,返回
1,234,567,890
不知道如何理解,请逐个字符解释给我这个小白听
function regFormatPermil(v){
const reg = /d{1,3}(?=(d{3})+$)/g
return `${v}`.replace(reg,'$&,')
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这里用到了断言,在浏览器端使用要注意兼容性,chrome是支持的,但是firefox和safari之类的貌似都不支持。
/d{1,3}(?=(d{3})+$)/g
这个正则以贪婪模式匹配一个串a, 仅当a后面跟着3的倍数个数字时才匹配,?=为后行断言先行断言,表示紧随其后的条件,但是不在匹配结果里,即不是a的一部分。a的长度在1-3之间(/d{1, 3}, 贪婪模式会尽可能长地匹配)。
学会使用搜索引擎也是一种技能,会看文档是必备技能,授人以鱼不如授人以渔
正则
String.prototype.replace