正则表达式学习总结_wangzhongITger的博客-CSDN博客
分组 ()
被称为捕获分组,用来捕获数据,当我们想要从匹配好的数据中提取关键数据的时候可以使用分组。事例如下:
非捕获分组 (?:表达式)
有时候,我们并不需要捕获某个分组的内容,但是又想要使用分组的特性,就可以使用非捕获分组。
分组的回溯引用
正则表达式提供了一种引用之前匹配分组的机制,使用在不如我们需要下一个相同的匹配时,使用\n可以引用编号为n的分组。
断言
断言中共有如下四种:
1.正向先行断言
验证一串密码必须至少含有小写字母、大写字母、数字,并且长度大于8位
2.反向先行断言
提取不是QQ邮箱的数据
3.正向后行断言
匹配王姓同学的名字
4.反向后行断言
匹配字符中前面没有我后面没有你的喜欢
正向先行断言: (?=表达式) 指在某个位置向右看,表示所在位置右侧必须能匹配表达式
反向先行断言: (?!表达式) 指在某个位置向右看,表示所在位置右侧不能匹配表达式
正向后行断言: (?<=表达式) 指在某个位置向左看,表示所在位置左侧必须能匹配表达式
反向后行断言: (?<!表达式) 指在某个位置向左看,表示所在位置左侧不能匹配表达式
先行断言与后行断言只有一个区别,即先行断言从左往右看,后行断言从右往左看。