gpt4 book ai didi

两个小数位的 Javascript 正则表达式模式

转载 作者:行者123 更新时间:2023-11-29 20:41:58 28 4
gpt4 key购买 nike

pattern = new RegExp('([0-9]+([.][0-9]{1,2})?|[.][0-9]{1,2})');

它应该接受00.00,0.0,00.25,00.36,00.56,,222.25,222.25,2222.25,

不应该接受000.25,0000.25

最佳答案

如果您的值不能以零开头,您可以使用 alternation :

^(?:(?:0{1,2}|[1-9]\d*)?\.\d{1,2}|[1-9]\d*)$

这将匹配:

  • ^ 字符串的开始
  • (?: 非捕获组
    • (?: 非捕获组
      • `0{1,2}|[1-9]\d* 匹配零 1-2 次或数字 1-9 和 0+ 次数字
    • )? 关闭捕获组并使其可选
    • \.\d{1,2}匹配一个点和1-2个数字
    • | 或者
    • [1-9]\d* 匹配数字 1-9 后跟数字 0+ 次
  • ) 关闭非捕获组
  • $ 字符串结束

Regex101 demo

如果你确实想要允许前导零,你可以在第二次交替之前添加匹配 0+ 次零 0*:

^(?:(?:0{1,2}|0*[1-9]\d*)?\.\d{1,2}|[1-9]\d*)$

Regex101 demo

关于两个小数位的 Javascript 正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55197474/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com