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

捕获组能够捕获正则表达式中的字符模式,而且由正则表达式后面的编号或名称来引用改模式。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"

官方文档参考组的概念io

相关文章
相关标签/搜索