捕获组能够捕获正则表达式中的字符模式,而且由正则表达式后面的编号或名称来引用改模式。html
()——用来捕获其中的字符串
\数字——用编号来引用
eg. 正则表达式 (\w)(\w)\2\1 可匹配字符串abba正则表达式
注意: 1.反向引用用来匹配html标签很是有效如<(\w+)></\1>能够匹配<table></table>等相似格式的标签。express
2.默认状况下,只要使用圆括号,就会捕获圆括号内所包含的字符,能够使用n选项来禁用这个默认行为(在第7条里会详细介绍),或者添加?:到圆括号中。eg. (?:sophia)或(?n:sophia)此时不会捕获sophia。spa
(?<捕获组名称>)\k<捕获组名称>——用名称来引用htm
eg.文档
正则表达式(?<sophia>\w)abc\k<sophia> 可匹配字符串 xabcx字符串
注意:在替换模式中使用捕获组的格式略有不一样,要用$一、$2等来按数值引用捕获,用${sophia}等名称来按名称引用捕获组get
分组构造 | 描述 | 模式 | 匹配 |
( subexpression ) | 捕获匹配的子表达式并将其分配到一个从零开始的序号中 | |(\w)\1 | "deep" 中的 "ee" |