正则表达式练习

正则表达式基本概念:

元字符:

元字符 描述
. 匹配任意单个字符除了换行符
匹配中括号里面的字符集
\^ 匹配中括号里面字符集的取反
* 匹配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)$
  • 正浮点数:

校验字符

特定需求

相关推荐
学传打活16 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续3)
微信公众平台·1024程序员节·汉字·昆仑正义文化
学传打活21 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng1681 个月前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心1 个月前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u0103055271 个月前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u0103055271 个月前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝1 个月前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u0103055271 个月前
Java图像处理实战指南
人工智能·1024程序员节
u0103055271 个月前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u0103055271 个月前
Java实用类应用精讲
人工智能·1024程序员节