它引用的组内的正则表达式反向引用

Regular expression back reference inside the group it references

刚刚遇到一个我以前从未见过的正则表达式,因为我从未想过要尝试它:

((hello))

我会认为这是一个错误。后面的引用引用了它实际所在的组。这似乎有效并且将匹配:

hellohello

有人可以解释一下逻辑吗?我认为这属于嵌套后向引用(甚至可能是前向引用)的范畴,但我不清楚所采用的逻辑。

这种情况似乎与 "Nested References" 这里 http://www.regular-expressions.info/backref2.html 相似,但据我所知并不相同。

仅供参考,我已经 99.9% 确定我绝不会在生产环境中使用它。我不希望任何同事这样!

((hello))

^====1st group
 ^===2nd group

2nd 组包含 hello 并且 </code> 匹配它。所以你得到 <code>True for hellohello