zoukankan      html  css  js  c++  java
  • 正则匹配浮点数

          最近需要写一个正则去匹配一个小数(小数非负,保留两位),为方便和大家一块儿学习研究,特意将我分析正则的过程写下来。

          第一,分析都会有哪些是合法的可以匹配的,以及非法的字符,先列举下来。合法的有1、1.11、0.12、0.3、0、0.00,非法的可能会出现001、01.1、01.、-1、1.123等等。

      第二,根据上面特点数据大致分两类,即小数或整数,我们对小数位和整数位分别考虑,在整数位如果不是0的话首位一定不是0,所以我们可以先写出该部分的正则([1-9]d*)匹配非0的情况,如果考虑到0 的话加或关系即可,同时需要加^限制,与是可以写成^(([1-9]d*)|0)。小数部分首先要匹配.,正则为.,然后限制一到两位小数d{1-2},连起来为.d{1-2},同时该部分是可选的,所以需要括起来加?,修改为(.d{1-2})?$,最后合成为^(([1-9]d*)|0)(.d{1-2})?$

      第三,在工具中测试该正则,将第一步列出的数据测一下,看是否符合预期

    正则表达式学习

  • 相关阅读:
    其他标签
    数组和全局变量
    字符串处理
    运算符
    PHP安装配置工具
    String、StringBuffer与StringBuilder之间区别
    mybits——1
    异常
    ubuntu 系统错误:Error : BrokenCount > 0解决
    ubuntu配置VScode
  • 原文地址:https://www.cnblogs.com/xietong/p/5318812.html
Copyright © 2011-2022 走看看