文章目录
正则实用网址
点击进入-正则测试网址
在网站中输入表达式和文本,会自动标蓝匹配的字符串!
再提供一个练习网址
正则练习题
特殊符号功能说明
中括号
[]:匹配中括号中出现的字符一次
横杠
-:表示区间 0-9 ,a-z
斜杠
\:转义字符 想匹配横杠等特殊字符,就需要转义
shift+6
^:
放在方括号[]中:非, 取反,不匹配其中字符
不放在方括号[]中:开始字符
开始与结束字符:
^和$:在开头结尾处匹配字符串
任意字符
.:可以匹配除了换行符\n的任意一个字符
可选字符
?:出现一次或0词 (可有可无)
指定个数
{}:指定出现次数
默认贪婪模式(总想匹配更多的O),加上?非贪婪模式,匹配到2个O就不继续匹配。
匹配一个以上的o,开区间
+和*(速写)+等价于{1,}大于等于一个*等价于{0,}大于等于零个
正则快捷表达式
\s匹配空白(空格,制表,换行)
\b匹配单词边界
\d 匹配数字\w 匹配字母、数字、下划线
正则快捷表达式取反
字母变大,则取反
数字取反:非数字
分组-GROUP()
用于提取数据,使用括号给匹配串分组
捕获四个分组,在具体编程语言中会有相关函数输出
group[i]
| 或者条件,多与分组连用
非捕获分组
匹配不捕获, (?:表达式)
回溯引用
引用之前匹配到的分组
\1( \+分组编号)
环视 (先行断言,后行断言)
正向先行断言
(?=表达式):在某个位置向右看,所在位置右侧必须匹配表达式匹配粉色的Q 中的粉色的,不匹配Q。
反向先行断言
(?!表达式):在某个位置向右看,所在位置右侧必须没有该表达式
匹配粉色的XX 中的粉色的,不匹配XX,并且XX不能为Q。
正向后行断言
(?<=表达式)在某个位置向左看,所在位置必须能匹配表达式
反向后行断言
(?<!表达式)在某个位置向左看,所在位置必须不能匹配该表达式
结合一下