正则表达式练习

正则表达式基本概念:

元字符:

元字符 描述
. 匹配任意单个字符除了换行符
[ ] 匹配中括号里面的字符集
[^] 匹配中括号里面字符集的取反
* 匹配0个或多个*之前的符号
+ 匹配1个或多个+之前的符号
匹配0个或1个?之前的符号
{n,m} 匹配前面的字符,字符集或者捕获组n到m次
(xyz) (xyz)完全相等的字符串
| 或运算符,匹配前面或者后面的字符
|转移字符,用于保留元字符
^ 从头开始匹配
$ 从末端开始匹配

简写字符集

简写 描述
\w 匹配所有字母数字和下划线
\W 匹配所有非字母数字下划线
\d 匹配所有数字
\D 匹配所有非数字
\s 匹配空格
\S 匹配非空格
\f 匹配换页符
\n 匹配换行符
\r 匹配回车
\t 匹配制表符
\v 匹配垂直制表符
\p 匹配回车换行

零宽度断言

先行断言和后发断言都属于非捕获组,仅仅作为一个约束条件

符号 描述
?= 前行断言,约束前面匹配到的字符
?! 否定前行断言,排除约束前面匹配到的字符
?<= 后发断言,约束后面匹配到的字符
? 否定后发断言

常用的正则表达式:

校验数字

  • 数字:^[0-9]*$
  • n位的数字:^\d{n}$
  • 至少n位的数字:^\d{n,}$
  • m-n位的数字:^\d{m,n}$
  • 0和非0开头的数字:^(0|[1-9][0-9])$
  • 非0开头的最多带两位小数的数字:^[1-9][0-9]*(\.[0-9]{1,2})?$
  • 带1-2位小数的正数或者负数:^(|-)(0|[1-9][0-9]*)(\.[0-9]{1,2})$
  • 正数、负数和小数:^\-?\d+(\.\d+)?$
  • 有两位小数的正实数:^\d+(\.\d{2})?$
  • 非0的正整数:^[1-9][0-9]*$
  • 非负整数:^\d+$
  • 非正整数:^-[1-9]\d+|0)$
  • 正浮点数:

校验字符

特定需求

你可能感兴趣的:(1024程序员节)