技巧76-使用圆括号捕获子匹配 学习笔记
- 当指定一个模式时,可以捕获其子匹配并在其他地方引用它们。
- 此功能与substitute命令组合起来尤为好用,但它可用于定义某一类模式,这类模式的特点是重复包含某个单词。
- 例子
I love Paris in the
the springtime.
- 一个专门用来匹配重复单词的正则表达式
/\v<(\w+)\_s+\1>
- (): 任何圆括号内部的匹配文本都会自动保存到一个临时的仓库。
- \1 : 可以用\1引用这段被捕获的文本。
- 如果模式中包含不止一组圆括号,则可以用\1、\2,直到\9,引用被每对()捕获的子匹配。
- 不论模式中是否使用了圆括号,元字符\0永远会引用整个匹配。
- <和>两符号将用于匹配单词边界
- 元字符_s会匹配空白符或换行符
- 在查找模式中使用子匹配的场景并不太多。