摘要:
一、捕获组的概念捕获组可以通过从左到右计算其开括号来编号,编号是从1 开始的。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组:1((A)(B(C)))2(A)3(B(C))4(C)组零始终代表整个表达式。 以 (?) 开头的组是纯的非捕获 组,它不捕获文本,也不针对组合计进行计数。与组关联的捕获输入始终是与组最近匹配的子序列。如果由于量化的缘故再次计算了组,则在第二次计算失败时将保留其以前捕获的值(如果有的话)例如,将字符串"aba" 与表达式(a(b)?)+ 相匹配,会将第二组设置为"b"。在每个匹配的开头,所有捕获的输入都会被丢弃。二、 阅读全文