我试图理解以下段落(来自 Php.net: Link):
但是,如果反斜杠后面的十进制数小于 10,则始终将其作为反向引用,并且仅当整个模式中没有那么多捕获左括号时才会导致错误。换句话说,对于小于 10 的数字,引用的括号不必位于引用的左侧。当涉及重复并且右侧的子模式参与了较早的迭代时,“向前向后引用”可能有意义.
据我所知,如果小数小于 10,则计算模式的所有左括号,如果数字大于 10,则仅计算我使用参考时的左括号(例如 \13) .
例如:
假设我们有这个简单的模式:
'/^(a)(b)(c)(d)\6(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)$/';
This is the string we testing: abcdfefghikjklmn
所以有 php.net 说:
换句话说,对于小于 10 的数字,引用的括号不必位于引用的左侧
因此,如示例所示,引用的括号在右侧,并且引用编号小于 10,那么为什么 preg_match 返回 0?
如果有人可以帮助理解这一段,谢谢大家,祝你有美好的一天。