mirror of
https://github.com/ziishaned/learn-regex.git
synced 2025-09-07 06:07:00 -04:00
Merge 4c48458c422ae6d99a67c19fe0227f05ecd3f012 into 70e38b70bc434c0b05d97d1aeea0127aea8147c8
This commit is contained in:
commit
85e01fc3cb
@ -67,7 +67,7 @@
|
||||
* [2.3.2 号](#232--号)
|
||||
* [2.3.3 ? 号](#233--号)
|
||||
* [2.4 {} 号](#24--号)
|
||||
* [2.5 (...) 特征标群](#25--特征标群)
|
||||
* [2.5 (...) 捕获组](#25--捕获组)
|
||||
* [2.6 | 或运算符](#26--或运算符)
|
||||
* [2.7 转码特殊字符](#27-转码特殊字符)
|
||||
* [2.8 锚点](#28-锚点)
|
||||
@ -257,9 +257,9 @@
|
||||
|
||||
[在线练习](https://regex101.com/r/Sivu30/1)
|
||||
|
||||
## 2.5 `(...)` 特征标群
|
||||
## 2.5 `(...)` 捕获组
|
||||
|
||||
特征标群是一组写在 `(...)` 中的子模式. 例如之前说的 `{}` 是用来表示前面一个字符出现指定次数. 但如果在 `{}` 前加入特征标群则表示整个标群内的字符重复 N 次. 例如, 表达式 `(ab)*` 匹配连续出现 0 或更多个 `ab`.
|
||||
捕获组是一组写在 `(...)` 中的子模式. 例如之前说的 `{}` 是用来表示前面一个字符出现指定次数. 但如果在 `{}` 前加入捕获组则表示整个标群内的字符重复 N 次. 例如, 表达式 `(ab)*` 匹配连续出现 0 或更多个 `ab`.
|
||||
|
||||
我们还可以在 `()` 中用或字符 `|` 表示或. 例如, `(c|g|p)ar` 匹配 `car` 或 `gar` 或 `par`.
|
||||
|
||||
@ -351,7 +351,7 @@
|
||||
|
||||
## 4. 前后关联约束(前后预查)
|
||||
|
||||
前置约束和后置约束都属于**非捕获簇**(用于匹配不在匹配列表中的格式).
|
||||
前置约束和后置约束都属于**非捕获组**(用于匹配不在匹配列表中的格式).
|
||||
前置约束用于判断所匹配的格式是否在另一个确定的格式之后.
|
||||
|
||||
例如, 我们想要获得所有跟在 `$` 符号后的数字, 我们可以使用正向向后约束 `(?<=\$)[0-9\.]*`.
|
||||
|
Loading…
x
Reference in New Issue
Block a user