(?:\/(\w+?=\/)\/(\w+))*
有没有什么办法从组内检索反向引用?在上面的表达式中,没有引用(?:)会阻止整个组捕获反向引用?从重复组生成反向引用
试图匹配,例如: /hello/how/are/you.../today和捕捉
(?:\/(\w+?=\/)\/(\w+))*
有没有什么办法从组内检索反向引用?在上面的表达式中,没有引用(?:)会阻止整个组捕获反向引用?从重复组生成反向引用
试图匹配,例如: /hello/how/are/you.../today和捕捉
之间的“/”的所有值是否有任何办法从组内反向引用?
是的。组不在层次结构中解释。例如(a(b))
只有两个组,一个和两个,可以(后面)引用。在参考文献方面,它等于(a)(b)
。引用的顺序只是由正则表达式模式中的组顺序决定的(由组的开始决定)。一个团体是另一个团体的一部分并不能改变这一事实。
在上面的表达式中,no-reference(?:)是否阻止整个组捕获反向引用?
不。它只能防止标记为非捕获组的组捕获(返回)引用。嵌套组不受影响,将被捕获,除非它们也被标记为非捕获组。
那么它只花了我几个月的时间来标记这个但是为了答案。正则表达式的例子往往很弱,所以每当我遇到一些复杂的测试或stackoverflow复杂的。 – 2013-06-13 13:50:33
非常感谢标记:) – 2013-06-14 14:28:50
'\ w'不一定被'['']'包围“。我很肯定在'?='之前应该有一个左括号'(经过适当的修改)。 – Dukeling 2013-03-07 21:02:50
我添加\ w只是为了更容易阅读。编辑,以便更容易阅读thx – 2013-03-07 21:04:24
最快的解决方案是加倍'/' – BlackBear 2013-03-07 21:14:28