“正则表达式 反向引用”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
第10行: | 第10行: | ||
比如 1221,5775,…… | 比如 1221,5775,…… | ||
+ | |||
+ | |||
+ | |||
+ | 要解决上面的问题,还需要再回顾以下正则表达式的几个概念: | ||
+ | |||
+ | 1、分组 | ||
+ | |||
+ | 可以用圆括号组成一个比较复杂的匹配模式,那么一个圆括号的部分可以看作是一个子表达式或一个分组 | ||
+ | |||
+ | |||
+ | 2、捕获 | ||
+ | |||
+ | 把正则表达式中子表达式(分组)匹配的内容,保存到内存中以数字编号或显式命名的组里,方便后面引用, | ||
+ | |||
+ | 从左到右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推。 | ||
+ | |||
+ | 组0代表的是整个表达式 | ||
+ | |||
+ | |||
+ | 3、反向引用 | ||
+ | |||
+ | 圆括号的内容被捕获后,可以在这个括号后被使用,从而写出一个比较使用的匹配模式,这个称为反向引用, | ||
+ | |||
+ | 这种引用既可以是在正则表达式内部,也可以是在正则表达式外部,内部反向引用 \\ 分组号,外部反向引用$分组号 |
2022年11月20日 (日) 05:21的版本
https://www.bilibili.com/video/BV1Eq4y1E79W?p=20
需求:
给你一段文本,请你找出所有四个数字连在一起的字串,并且这四个数字要满足
①第1位与第4位相同
②第2位与第3位相同,
比如 1221,5775,……
要解决上面的问题,还需要再回顾以下正则表达式的几个概念:
1、分组
可以用圆括号组成一个比较复杂的匹配模式,那么一个圆括号的部分可以看作是一个子表达式或一个分组
2、捕获
把正则表达式中子表达式(分组)匹配的内容,保存到内存中以数字编号或显式命名的组里,方便后面引用,
从左到右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推。
组0代表的是整个表达式
3、反向引用
圆括号的内容被捕获后,可以在这个括号后被使用,从而写出一个比较使用的匹配模式,这个称为反向引用,
这种引用既可以是在正则表达式内部,也可以是在正则表达式外部,内部反向引用 \\ 分组号,外部反向引用$分组号