1. 基本介绍
1.1 分组
可以用圆括号组成一个比较复杂的匹配模式,那么一个圆括号的部分可以看作是一个子表达式/一个分组。
1.2 捕获
把正则表达式中子表达式/分组匹配的内容,保存到内存中以数字编号或显式命名的组里,方便后面引用,从左向右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推。组号0代表的是整个正则式。
1.3 反向引用
圆括号的内容被捕获后,可以在这个括号后被使用,从而写出一个比较实用的匹配模式,称为反向引用,这种引用既可以是在正则表达式内部,也可以是在正则表达式外部。内部反向引用:\\分组号,外部反向引用:$分组号。
2. 应用实例
(1)匹配两个连续的相同数字:(\\d) \\1
(2)匹配五个连续的相同数字:(\\d) \\1{4}
(3)匹配个位与千位相同,十位与百位相同的数5225:(\\d)(\\d)\\2\\1
(4)结巴去重