正则表达式查询

速查表

元字符描述
\转义字符,用于匹配一些保留的字符 [ ] ( ) { } . * + ? ^ $ \
\n匹配一个换行符,\\匹配\\(则匹配(
|或运算符,匹配符号前或后的字符串
^从字符串开始位置匹配
$从字符串结束位置匹配
.匹配除换行符外的任意单个字符
*匹配前面的子表达式零次或多次,等价于{0,}
+匹配前面的子表达式一次或多次,等价于{1,}
?匹配前面的子表达式零次或一次,等价于{0,1}
{ }匹配前面的子表达式重复的次数。
{n,m} 匹配前面的字表达最少n次且最多m次
{n,} 匹配前面的字表达最少n次
{n} 匹配前面的字表达n次
[ ]字符集合
[xyz] 匹配所包含的任意一个字符
[a-z] 匹配指定范围内的任意一个字符
[^]负字符集合
[^xyz] 匹配未包含的任意字符
[^a-z] 匹配任何不在指定范围的任意字符
( )特征标群,写在( )中的子模式
(parttern) 匹配pattern并获取这一匹配。

简写字符集

简写描述
.除换行符外的所有字符
\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 行终止符

常用匹配

用户名^[a-z0-9_-]{3,16}$
密码^[a-z0-9_-]{6,18}$
十六进制值^#?([a-f0-9]{6}$
电子邮箱^#?([a-f0-9]{6}|[a-f0-9]{3})
^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$
URL^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
IP地址((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
HTML标签^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$
删除代码\注释(?<!http:|\S)//.*$
Unicode编码中的汉字范围^[\u2E80-\u9FFF]+$

在线练习

https://regex101.com/

参考网址

github项目:learn-regex
正则表达式速查表

相关推荐