帮我理解这个正则表达式,实在搞不懂

发布于 2022-09-12 13:11:28 字数 208 浏览 21 评论 0

下面是千分位格式化的正则表达式,传入1234567890,返回
1,234,567,890
不知道如何理解,请逐个字符解释给我这个小白听

function regFormatPermil(v){
 const reg = /d{1,3}(?=(d{3})+$)/g
 return `${v}`.replace(reg,'$&,')
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

私藏温柔 2022-09-19 13:11:28

这里用到了断言,在浏览器端使用要注意兼容性,chrome是支持的,但是firefox和safari之类的貌似都不支持。

/d{1,3}(?=(d{3})+$)/g 这个正则以贪婪模式匹配一个串a, 仅当a后面跟着3的倍数个数字时才匹配,?=为后行断言先行断言,表示紧随其后的条件,但是不在匹配结果里,即不是a的一部分。
a的长度在1-3之间(/d{1, 3}, 贪婪模式会尽可能长地匹配)。

雄赳赳气昂昂 2022-09-19 13:11:28

学会使用搜索引擎也是一种技能,会看文档是必备技能,授人以鱼不如授人以渔

正则
String.prototype.replace

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文