正则表达式学习笔记


正则表达式 (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次;

posted @ 2018-09-30 17:01  1店小二  阅读(133)  评论(0编辑  收藏  举报