正则
2022-05-10 本文已影响0人
芸芸众生ing
===========
> 修饰符
===========
i === 不区分大小写
I === 区分大小写
g === 执行全局匹配
m === 执行多行匹配
===========
> 表达式
===========
[abc] === 查找方括号之间的任何字符
[0-9] === 查找任何 0 - 9 的数字
[^n] === 匹配除了n以外的字符
() === 括号内的定义为一组
x|y === 匹配 x 或 y
\d === 匹配数字
\D === 匹配非数字; 等价于 [^0-9]
\s === 匹配空白符,任何不可见字符
\b === 匹配单词边界
\D === 匹配非单词边界
\n === 匹配换行
\w === 匹配字母、数字、下划线
\W === 匹配除字母、数字、下划线以外的字符;等价于[^A-Za-z0-9_]
n+ === 匹配包含至少一个n的字符串,重复一次或更多次
n* === 匹配没有或者多个n的字符串,重复零次或更多次
n? === 匹配没有或者一个n的字符串,重复一次或零次
^ === 匹配字符串的开始
$ === 匹配字符串的结束
(?!n) === 从不是 n 的位置开始匹配,匹配结果不返回 n , match截取常用
(?=n) === 返回 n 前面的字符 , match截取常用
(?<=n) === 返回 n 以后的字符 , match截取常用
(?<!n) === 非获取匹配,反向否定预查,与正向否定预查类似,只是方向相反。
例如“ (?<!95|98|NT|2000)Windows ”能匹配“ 3.1Windows ”中的“ Windows ”,
但不能匹配“ 2000Windows ”中的“ Windows ”
. === 匹配任意字符,除换行符以外
{n} === 重复n次
{n,m} === 重复n到m次