js 用正则去掉小数点后面多于的0(正则非捕获)

2023-11-08

const arr=['1200.00100','1200.00000','1200.','1200','1200.10000','0.120010000','0.000011111']
const regexp=/(?:\.0*|(\.\d+?)0+)$/
arr.forEach((item)=>{
    console.log(item.replace(regexp,'$1'))
})

// > 1200.001
// > 1200
// > 1200
// > 1200
// > 1200.1
// > 0.12001
// > 0.000011111
再解释下正则的意思(?:.0*|(.\d+?)0+)$
先分解成4部分

注意:() 代表捕获并且存放到内置变量中,第一个括号 里东西放到 $1; 第二个括号 中的东西放到 $2; 第三个括号 中的东西放到 $3
非捕获(?:reg1|reg2): 代表分组但是不存放到内置变量中;

  1. (?:reg1|reg2) :它是一个正则分组非捕获组,要么匹配reg1,要么匹配reg2,优先匹配reg1,加上?:不对捕获组记录
  2. .0* : 表示匹配一个.开头,后边跟着0或0个以上数量的0,且不进行捕获,所以在填充$1时,就是个空值
  3. (.\d+?)0+ :它是一个捕获组,匹配一个.开头后边跟着非贪婪(懒惰)匹配任意数字,接着在末尾尽可能多的匹配0这个字符,匹配完成后,生成一个捕获组内容
  4. $ - 表示匹配结果需要以0作为结尾

参考链接
参考链接

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

js 用正则去掉小数点后面多于的0(正则非捕获) 的相关文章

随机推荐

  • 解决Oracle数据库ORA-01157: cannot identify/lock data file 10 - see DBWR trace file ORA-01110: data file 1

    解决Oracle数据库启动报错ORA 01157 cannot identify lock data file 10 see DBWR trace file ORA 01110 data file 10 u01 app oracle ora
  • 蓝桥杯-时间显示(java)

    问题描述 小蓝要和朋友合作开发一个时间显示的网站 在服务器上 朋友已经获取了当前的时间 用一个整数表示 值为从1970年1月1日O0 00 00到当前时刻经过的毫秒数 现在 小蓝要在客户端显示出这个时间 小蓝不用显示出年月日 只需要显示出时
  • es ik 词库添加词语_五、IK自定义词库及远程热更新

    IKAnalyzer cfg xml为IK分词器的配置文件 一 IKAnalyzer cfg xml文件分析properties SYSTEM http java sun com dtd properties dtd gt IK Analy
  • 本周参加两个SAP项目面试后的感想

    本周参加两个SAP项目面试后的感想 本周二和周四 应约参加了2个不同项目的电话面试 感触挺多的 1 行业经验在很多项目选人的时候具有关键性的决定作用 A项目 是一个快消品行业的大项目 客户是世界跨国巨头 听对方介绍起来该项目规模庞大 极其复
  • JS多个对象添加到一个对象中

    var obj1 qq 10 var obj2 mm 2 nn 3 var obj3 xx 1 yy 5 obj1 field1 obj2 obj1 field2 obj3 console log obj1 转载于 https www cn
  • linux系统查看文件大小及使用空间大小

    1 查看 data test文件夹下所有文件大小之和命令 du h max depth 1 data test 2 查看 data test文件夹下所有文件大小明细 每个文件大小 命令 du h max depth 1 data test
  • 四路服务器选型项目,四路服务器详细

    四路服务器详细 内容精选 换一换 在待分析的服务器上安装节点 Web服务器 即安装鲲鹏性能分析工具的服务器 默认安装了节点 如果待分析的服务器与安装工具的服务器是同一个 请跳过该章节 已成功登录系统性能分析 待添加节点的服务器已配置操作系统
  • 17款最佳的代码审查工具

    好的代码审查器可以大大地帮助程序员提高代码质量 减少错误几率 虽然现在市场上有许多可用的代码审查工具 但如何挑选也是一个艰巨的任务 在咨询过有关专家的建议和意见之后 我们罗列出了以下17款最佳的代码审查工具 1 CodeStriker Co
  • Vue.js 条件渲染全解析

    注意标题是条件渲染而不是条件判断 Vue给v if这类条件判断属性取名叫条件渲染 这些属性的目的是判断要不要渲染这些元素 而不仅仅是所谓的判断 是否渲染才是最主要的功能 v if的使用 例如下面的代码 span里面可以显示message的信
  • 关于 Diffie-Hellman 组

    Diffie Hellman DH 组确定了在密钥交换进程中使用的密钥的强度 组的编号越大安全性就越高 但是也就需要更多的时间来计算密钥 WatchGuard 设备支持 Diffie Hellman 组 1 2 和 5 DH 组 1 768
  • PAT C 语言入门题目-7-60 删除重复字符 (20 分)

    7 60 删除重复字符 20 分 本题要求编写程序 将给定字符串去掉重复的字符后 按照字符ASCII码顺序从小到大排序后输出 输入格式 输入是一个以回车结束的非空字符串 少于80个字符 输出格式 输出去重排序后的结果字符串 输入样例 ad2
  • 06_列表渲染_1

    div h2 测试 v for 遍历数组 h2 ul li index p name li ul div
  • Linux多进程:zombie process——僵尸进程

    僵尸进程zombie process 子进程终止时 父进程尚未回收子进程残留的内核区资源 从而变成僵尸进程 僵尸进程不能被 kill 9 杀死 如果父进程不调用wait 或waitpid 的话 僵尸进程不会被处理 其pcb pid等资源一直
  • 英语二作文模板及范文

    文章目录 四大写作模板 辩证分析类 短文题目 二选一 模板 A OR B 范文 解决问题类 短文题目 提纲思路 写作模板 题目 范文 Fight against Haze 个人介绍类 短文题目 提纲思路 写作模板 范文 My Hobby 电
  • 在微信公众号里使用LaTeX数学公式

    quicklatex这个神器和它的wordpress插件QuickLaTeX 几乎完美支持和兼容Mathjax所支持的LaTeX数学公式 方法很简单 只要在wordpress中安装quicklatex 然后在文章的开头添加一个 latexp
  • b树和b+树的数据结构

    在B树中 你可以将键和值存放在内部节点和叶子节点 但在B 树中 内部节点都是键 没有值 叶子节点同时存放键和值 B 树的叶子节点有一条链相连 而B树的叶子节点各自独立 B树 普通的二叉树一个节点有一个元素 B树一个节点可以有多个元素 节点里
  • 进程调度:时间片轮转调度算法

    一 实验目的 1 加深对进程的理解 2 理解进程控制块的结构 3 理解进程运行的并发性 4 掌握时间片轮转法进程调度算法 二 实验原理 1 建立进程控制块 2 设计两个链队列 分别表示就绪队列和完成队列 3 用户输入进程标识符 进程到达时间
  • 以太坊系列 - 以太坊的测试网

    测试网简介 目前Ethereum存在三个测试网 分别是Ropsten PoW算法 支持Parity和Geth Kovan PoA算法 Parity专用 和Rinkeby Clique PoA共识算法 Geth专用 Ropsten PoW S
  • Python绘制LTspice仿真趋势图

    LTspice集成Python处理信号 首先 使用Python创建一个信号 然后 通过一个 LTspice 滤波器电路运行它 同时我们在 python 中控制一些滤波器的可调参数 最后 使用Python绘制结果 我们打开 LTspice 并
  • js 用正则去掉小数点后面多于的0(正则非捕获)

    const arr 1200 00100 1200 00000 1200 1200 1200 10000 0 120010000 0 000011111 const regexp 0 d 0 arr forEach item gt cons