正则表达式练习

正则表达式基本概念:

元字符:

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

校验字符

特定需求

相关推荐
开开心心就好8 天前
内存清理软件灵活设置,自动阈值快捷键清
运维·服务器·windows·pdf·harmonyos·risc-v·1024程序员节
学传打活9 天前
【边打字.边学昆仑正义文化】_5_宇宙物种创造简史(1)
微信公众平台·1024程序员节·汉字·昆伦正义文化
xcLeigh10 天前
打破机房围墙:VMware+cpolar构建跨网络虚拟实验室
vmware·内网穿透·cpolar·实验室·远程访问·1024程序员节
开开心心就好11 天前
免费轻量电子书阅读器,多系统记笔记听书
linux·运维·服务器·安全·ddos·可信计算技术·1024程序员节
unable code12 天前
流量包取证-大流量分析
网络安全·ctf·misc·1024程序员节·流量包取证
开开心心就好13 天前
实用PDF擦除隐藏信息工具,空白处理需留意
运维·服务器·windows·pdf·迭代器模式·桥接模式·1024程序员节
unable code14 天前
浏览器取证-[GKCTF 2021]FireFox Forensics
网络安全·ctf·misc·1024程序员节·浏览器取证
unable code14 天前
内存取证-[安洵杯 2019]Attack
网络安全·ctf·misc·1024程序员节·内存取证
unable code14 天前
CTF-SPCS-Forensics
网络安全·ctf·misc·1024程序员节·取证