欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

正则表达式中的捕获和反向引用笔记

程序员文章站 2022-12-25 07:54:01
捕获组可以捕获正则表达式中的字符模式,并且由正则表达式后面的编号或名称来引用改模式。 ()——用来捕获其中的字符串\数字——用编号来引用eg. 正则表达式 (\w)(\w)\2\1 可匹配字符串abba 注意: 1.反向引用用来匹配html标签非常有效如<(\w+)>可以匹配 ......

捕获组可以捕获正则表达式中的字符模式,并且由正则表达式后面的编号或名称来引用改模式。

()——用来捕获其中的字符串
\数字——用编号来引用
eg. 正则表达式 (\w)(\w)\2\1 可匹配字符串abba

注意: 1.反向引用用来匹配html标签非常有效如<(\w+)></\1>可以匹配<table></table>等类似格式的标签。

            2.默认情况下,只要使用圆括号,就会捕获圆括号内所包含的字符,可以使用n选项来禁用这个默认行为(在第7条里会详细介绍),或者添加?:到圆括号中。eg.                  (?:sophia)或(?n:sophia)此时不会捕获sophia。

    (?<捕获组名称>)\k<捕获组名称>——用名称来引用

eg.

正则表达式(?<sophia>\w)abc\k<sophia> 可匹配字符串 xabcx

注意:在替换模式中使用捕获组的格式略有不同,要用$1、$2等来按数值引用捕获,用${sophia}等名称来按名称引用捕获组

分组构造 描述 模式 匹配
( subexpression ) 捕获匹配的子表达式并将其分配到一个从零开始的序号中 |(\w)\1 "deep" 中的 "ee"