正则表达式练习

正则表达式基本概念:

元字符:

元字符 描述
. 匹配任意单个字符除了换行符
匹配中括号里面的字符集
\^ 匹配中括号里面字符集的取反
* 匹配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-90-9)$
  • 非0开头的最多带两位小数的数字:^1-90-9*(\.0-9{1,2})?$
  • 带1-2位小数的正数或者负数:^(|-)(0|1-90-9*)(\.0-9{1,2})$
  • 正数、负数和小数:^\-?\d+(\.\d+)?$
  • 有两位小数的正实数:^\d+(\.\d{2})?$
  • 非0的正整数:^1-90-9*$
  • 非负整数:^\d+$
  • 非正整数:^-1-9\d+|0)$
  • 正浮点数:

校验字符

特定需求

相关推荐
liguojun20256 天前
篮球馆自动计时收费系统:从规则配置到自动结算的全流程拆解
java·大数据·运维·人工智能·物联网·1024程序员节
开开心心就好1 个月前
解决截图被拦截黑屏问题的免费小工具
安全·智能手机·flink·kafka·pdf·音视频·1024程序员节
开开心心就好1 个月前
清理重复文件释放C盘空间的工具
安全·智能手机·pdf·gitlab·音视频·intellij idea·1024程序员节
数据皮皮侠AI1 个月前
中国土地利用驱动因子数据集(9种驱动因子/裁剪到省市/Tif)
大数据·人工智能·笔记·能源·1024程序员节
数据皮皮侠AI2 个月前
上市公司耐心资本数据(2010-2025)
大数据·人工智能·笔记·能源·1024程序员节
开开心心就好2 个月前
解决图片无页码添加功能的实用工具
javascript·python·安全·智能手机·pdf·音视频·1024程序员节
学传打活2 个月前
【边打字.边学昆仑正义文化】_25_宇宙动植物的由来(1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
开开心心就好2 个月前
用户推荐的文件解锁与强制操作工具
安全·智能手机·pdf·scala·音视频·symfony·1024程序员节
liguojun20252 个月前
软硬一体智慧场馆系统推荐——助力场馆数字化高效升级
java·大数据·人工智能·物联网·1024程序员节
开开心心就好2 个月前
吾爱大佬原创的文件时间修改工具
安全·智能手机·pdf·电脑·智能音箱·智能手表·1024程序员节