博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则分析——将浮点数点左边的数每三位添加一个逗号
阅读量:6167 次
发布时间:2019-06-21

本文共 753 字,大约阅读时间需要 2 分钟。

之前遇到正则表达式,难的都不愿意分析,总觉得之后碰不到,但是作为个程序员,正则是相当重要的,这里记一下这个例子。

首先正则的一个用法 :(?=pattern)

正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串。 这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。 例如,“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”,但不能匹配“Windows3.1”中的“Windows”。 预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

代码如下:

function commafy(num) {    return num && num        .toString()        .replace(/(\d)(?=(\d{3})+\.)/g, function ($1, $2, $3) {            console.log($1, $2, $3);            return $2 + ',';    });}console.log(commafy(12345678.11));

输出:

分析:

1.$1, $2, $3分别代表正则匹配的括号里的值

(\d{3})+\.  说明匹配3个及3的倍数个数字加“.”结尾的 如 345678. 或 678.

(\d)(?=(\d{3})+\.   说明只有匹配到该数字后有3个及3的倍数个数字加“.”结尾的该数字被匹配 如 2345678. 的2被匹配 5678. 的5被匹配

转载于:https://www.cnblogs.com/mosquito18/p/9835494.html

你可能感兴趣的文章
《Arduino开发实战指南:LabVIEW卷》——第2章 Arduino软件
查看>>
京津冀大数据走廊起笔谋篇
查看>>
WIFI连网一“吻”通 黑科技让无线路由器更智能
查看>>
Ovum光器件首席分析师:硅光子不是唯一解决方案
查看>>
大数据发展进入快车道 未来会呈现高速增长
查看>>
JVM基础:JVM内存组成及分配
查看>>
数据库锁和数据库隔离级别
查看>>
Linux下的内核测试工具——perf使用简介
查看>>
《从问题到程序:用Python学编程和计算》——2.3 内置函数和数学函数包
查看>>
《Photoshop修饰与合成专业技法》目录—导读
查看>>
《Metasploit渗透测试手册》—第1章1.10节分析数据库中存储的渗透测试结果
查看>>
《Adobe Acrobat XI经典教程》—第2课减小文件大小
查看>>
《数据库技术原理与应用教程》一第2章 数据库的基础知识
查看>>
QuaggaJS —— 纯 JavaScript 开发的条形码扫描
查看>>
在图片中加入噪点就能骗过 Google 最顶尖的图像识别 AI
查看>>
免费下载!业界首部安卓热修复宝典出炉,阿里技术大牛联袂推荐
查看>>
OpenID 关联认证提供 CoreOS dex
查看>>
《Node.js区块链开发》一2.2 信用,决定着利益转移的方向
查看>>
Speedy:来自京东的 Docker 镜像存储系统
查看>>
《动手玩转Arduino》——11.2 众多的Arduino板
查看>>