正则表达式总结
正则表达式总结
练习查询网站:https://regexr-cn.com/
入门
1、字符组([ ])允许匹配一组可能出现的字符
ex:[Pp]ython = Python python
[0-9a-zA-Z] 区间
[\\-] [.] [\\(] 特殊字符转义
[^a-z] 不含有
2、快捷匹配
\w 与任意单词字符匹配,任意单词字符表示 [A-Z]、 [a-z]、[0-9]、_
\d 与任意数字匹配
\s 空格
\bmaster\b 边界
3、数量格式匹配
^指定的是一个字符串的开始,$指定的是一个字符串的结束。
.字符代表匹配任何单个字符
?零次或一次 *零次或多次 +一次或多次
{M,N},M是下界而N是上界(左闭右闭) {3,4} {3,}
高级
1、分组
() 捕获分组提取
| 或 (.jpg|.png)
(?:表达式) 非捕获分组,不捕获数据,还能使用分组的功能。
() \n 回溯引用 <(\w+)></\1> \1引用第一个分组
2、先行断言
(?=表达式) 正向先行断言: 在某个位置向右看,表示所在位置右侧必须能匹配表达式
ex:喜欢(?=你) 喜欢后面有你
(?=.*?[a-z])(?=.*?[A-Z]).+ 匹配的字符串中必须包含至少一个大写和小写的字母。
(?!表达式) 反先行断言:用是保证右边不能出现某字符 喜欢(?!你)
3、后行断言
(?<=表达式) 正向后行断言: 某个位置向左看,表示所在位置左侧必须能匹配表达式
(?<=我)喜欢(?=你)
(?<!表达式) 反向后行断言: 指在某个位置向左看,表示所在位置左侧不能匹配表达式
(?<!我)喜欢(?!你)

浙公网安备 33010602011771号