2019-04-18 21:35

笔记:正则表达式速查表

字符

字符 匹配
字母和数字 自身
\o NUL字符
\t 制表符
\n 换行符
\v 垂直制表符
\f 换页符
\r 回车符
\xnn 由十六进制数 nn 指定的拉丁字符
\uxxxx 由十六进制数 xxxx 指定的 Unicode 字符
\cX 控制字符 ^X

字符类

字符 匹配
[…] 括号内任意字符
[^…] 不在括号内的任意字符
. 除换行符和其他 Unicode 行终止符之外的任意字符
\w 任何 ASCII 字符组成的单词,等价于 [a-zA-Z0-9]
\W 任何非 ASCII 字符组成的单词,等价于 [^a-zA-Z0-9]
s 任何 Unicode 空白符
\S 任何非 Unicode 空白符
\d 任何 ASCII 数字,等价于 [0-9]
\D 任何非 ASCII 数字,等价于 [^0-9]
[\b] 退格直接量

重复

字符 含义
{n,m} 匹配前一项至少 n 次,但不能超过 m 次
{n,} 匹配前一项 n 次或者更多次
{n} 匹配前一项 n 次
? 匹配前一次 0 次或者 1 次,等价于 {0,1}
+ 匹配前一项 1 次或者多次,等价于 {1,}
* 匹配前一项 0 次或者多次,等价于 {0,}
非贪婪匹配模式:??、+?、*? 或 {n,m}?

选择、分组和引用

字符 含义
| 匹配符号左边的子表达式或右边的子表达式
(…) 组合,将几个项组成一个单元,可用重复符号修饰,并且可以记住匹配的字符串
(?:…) 组合但是不记忆
\n 第 n 个分组匹配的字符

指定匹配位置

字符 含义
^ 匹配字符串开头,多行检索时匹配一行的开头
$ 匹配字符串结尾,多行检索时匹配一行的结尾
\b 匹配一个单词的边界位置
\B 匹配非单词的边界位置
x(?=y) 正向先行断言,x 只有在 y 前面才匹配
x(?!y) 负向先行断言,x 只有不在 y 前面才匹配
(?<=y)x 正向后发断言,x 只有在 y 后面才匹配
(?<!y)x 负向后发断言,x 只有不在 y 后面才匹配

修饰符

字符 含义
i 不区分大小写
g 执行全局匹配
m 多行匹配
u Unicode 模式
y 粘连模式
s dotall 模式

点这,给博主早餐加个鸡蛋!(ง •̀_•́)ง
hzv5.cn文章二维码

扫描二维码,在手机上阅读!



  1. 写的很好,支持下

添加新评论