zoukankan      html  css  js  c++  java
  • 正则表达式学习笔记


    正则表达式 (Regular Expression,简写:regex或RE)。是计算机科学里的一个概念,事先定义好一个字符串规则(或叫模式),来对字符串进行过滤,匹配。

    正则表达式在线验证工具:
    http://tool.oschina.net/regex/

    正则表达式语法参考:
    http://www.runoob.com/regexp/regexp-syntax.html

    正则表达式实例参考:
    https://blog.csdn.net/tel13259437538/article/details/80752308


    实例: 只允许输入格式为: 0-1之间数值(不含0)且最多为两位小数的数。
    如:1, 1.0,1.02,1.99等为合法输入,0,1.,2.0 等为非法输入


    首先:
    每个正则表达式都有开始与结束的字符,我们把这种称为 定位符。
    如^表示从^后的字符开始;$表示以什么字符结束。

    初始:
    ^$

    分析:
    step1:这个数的第一位只能是0或1,[0-1]表示输入的只可能是0或1,{1}表示出现的次数只能是1次。
    ^[0-1]{1}$

    step2:
    这个数可以是小数,也可以是整数。 小数的话,中间会有一个小数点.表示为[.]。 如果为整数,则不会出现小数点,即小数点后的部分都不会出现。 ? 号表示出现的值可为0次或1次。 {1,2}表示这个数出现1或2次,即最多2位小数。
    ^[0-1]{1}([.]([0-9]){1,2})?$

    注:
    1) 如果限制只能为2位小数,则为{2}。
    2) ([0-9]){1,2}也可以写为:d{0,2} 表示:0个数字、1个数字或者2个数字。

    Step3:限制这个数不能为0,+号表示出现这个数1次或多次以上。即也需要防止0000或0.000这种情况。
    ^(?!0+$)(?!0.0+$)

    综上,得到结果如下:
    ^(?!0+$)(?!0.0+$)[0-1]{1}([.]([0-9]){1,2})?$


    总结:
    1. 定位符
    * 表示重复0次或更多次(任意次数);
    + 表示出现这个数1次或多次以上
    ? 表示重复0次或1次(最多1次);
    {n} 表示重复n次;
    {n,m} 表示重复n-m次;

  • 相关阅读:
    第二次:Ubuntu16.04 安装Docker
    第一次:从今开始玩Linux,Ubuntu16.04
    学习日常
    Vector和ArrayList的异同、Hashtable和HashMap的异同
    如何吃透Python的面向对象(OOP)
    Python基础(下篇)
    Python基础(中篇)
    Python基础(上篇)
    Pycharm安装
    Python的安装与配置
  • 原文地址:https://www.cnblogs.com/xiaoer/p/9732601.html
Copyright © 2011-2022 走看看