正则表达式知识整理

本文深入探讨了正则表达式的各种元字符、限定符、点运算符、字符类、量词、或运算符、转义字符和锚点,以及它们在文本匹配和处理中的作用。此外,还介绍了常见的正则表达式模式,如数字和字符的匹配规则。文章进一步讲解了正则表达式的标志(模式修正符),并提供了大量实例来帮助理解其用法。正则表达式是信息技术中不可或缺的工具,广泛应用于数据验证、文本搜索和替换等多个场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则表达式

元字符描述
限定符相关描述
?标记?之前的字符为可选,有没有都行。
*匹配>=0个重复的在*号之前的字符,(0 ~ +∞)。
+匹配>=1个重复的+号前的字符,(1 ~ +∞)。
点运算符相关描述
.匹配任意单个字符除了换行符。
字符类相关描述
[ ]字符种类。匹配方括号内的任意字符。
[^ ]否定的字符种类。匹配除了方括号里的任意字符。
(xyz)字符集,匹配与 xyz 完全相等的字符串。
量词相关描述
{n,m}匹配num个大括号之前的字符或字符集 (n <= num <= m)。
或运算符相关描述
|匹配符号前或后的字符。
转义字符相关描述
\匹配一些保留的字符 [ ] ( ) { } . * + ? ^ $ \
锚点相关描述
^从开始行开始匹配,检查匹配的字符串是否在所匹配字符串的开头。
$从末端开始匹配,匹配字符是否是最后一个。

常用的字符集简写

简写描述
.除换行符外的所有字符
\w匹配所有字母数字,等同于 [a-zA-Z0-9_]
\W匹配所有非字母数字,即符号,等同于: [^\w]
\d匹配数字: [0-9]
\D匹配非数字: [^\d]
\s匹配所有空格字符,等同于: [\t\n\f\r\p{Z}]
\S匹配所有非空格字符: [^\s]
\f匹配一个换页符
\n匹配一个换行符
\r匹配一个回车符
\t匹配一个制表符
\v匹配一个垂直制表符
\p匹配 CR/LF(等同于 \r\n),用来匹配 DOS 行终止符

标志(模式修正符)

标志描述
i忽略大小写。
g全局搜索。
m多行修饰符:锚点元字符 ^ $ 工作范围在每行的起始。

常用的正则表达式

数字表达式
数字^[0-9]*$
n位的数字^\d{n}$
至少n位的数字^\d{n,}$
m-n位的数字^\d{m,n}$
零和非零开头的数字^(0|[1-9][0-9]*)$
非零开头的最多带两位小数的数字^([1-9][0-9]*)+(.[0-9]{1,2})?$
带1-2位小数的正数或负数^(\-)?\d+(\.\d{1,2})?$
正数、负数、和小数^(\-|\+)?\d+(\.\d+)?$
有两位小数的正实数^[0-9]+(.[0-9]{2})?$
有1~3位小数的正实数^[0-9]+(.[0-9]{1,3})?$
非零的正整数^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
字符表达式
汉字^[\u4e00-\u9fa5]{0,}$
英文和数字^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
长度为3-20的所有字符^.{3,20}$
由26个英文字母组成的字符串^[A-Za-z]+$
由26个大写英文字母组成的字符串^[A-Z]+$
由26个小写英文字母组成的字符串^[a-z]+$
由数字和26个英文字母组成的字符串^[A-Za-z0-9]+$
由数字、26个英文字母或者下划线组成的字符串^\w+$ 或 ^\w{3,20}$
中文、英文、数字包括下划线^[\u4E00-\u9FA5A-Za-z0-9_]+$
中文、英文、数字但不包括下划线等符号^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
可以输入含有^%&’,;=?$"等字符[^%&',;=?$\x22]+ 12
禁止输入含有~的字符[^~\x22]+
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值