技巧76-使用圆括号捕获子匹配 学习笔记

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