从重复组生成反向引用

时间:2013-03-07 20:46:59

标签: regex

(?:\/(\w+?=\/)\/(\w+))*

有没有办法从组中检索反向引用?在上面的表达式中,无引用(?:)阻止整个组捕获反向引用?

尝试匹配例如: /hello/how/are/you.../today并捕获'/'

之间的所有值

1 个答案:

答案 0 :(得分:2)

  

有没有办法从组中检索反向引用?

是。组不会在层次结构中解释。例如,(a(b))只有两个组,一个和两个,可以(后)引用。就引用而言,它等于(a)(b)。引用的顺序简单地由正则表达式中的组的顺序(由组的开始确定)确定。一个群体属于另一个群体的事实并没有改变这一事实。

  

在上面的表达式中,无引用(?:)阻止整个组捕获反向引用?

没有。它仅阻止标记为非捕获组的组捕获(返回)引用。嵌套组不受影响,除非它们也被标记为非捕获组,否则将被捕获。