分组与引用原创
# 分组与引用
- 将多个匹配元字符括起来表示一个整体(分组)
- 默认会为每个分组编号,以便之后的引用,但这会影响性能
- \d{15}(\d{3})
- (\d{3})匹配时会将此结果放入编号1的分组中,之后通过$1进行引用。
# 不保存分组
- 在分组内部使用?:,则表示不保存分组
- \d{15}(?:\d{3}),则只进行匹配不分配编号,不保存分组
# 注意点
- \d{15}?,量词后加问号,表示非贪婪匹配
- (\d{15})?,小括号后加问号,表示匹配分组可有可无
- \d?,元字符后加问号,表示匹配字符可有可无
# 命名分组
- 默认为分组编号,但是容易混淆,且不易记忆
- 可通过在分组内使用 ?P<分组名> 来为分组命名
- 之后可通过编号和命名来访问分组
- (?P
\d{15})
# 分组引用
- 在javascript中通过 \编号 来访问,$编号来替换。
- 在其它语言中,一般通过 \编号 来访问
- 编号从1开始,左括号所在的位置就是分组的编号