man*_*lds 50

\1 - 它表示匹配表达式中的第一个捕获组.\n将成为第n个捕获组.(注意,这\0将是完全匹配).在许多引擎中,n的上限是9,但有些支持也高达99.

当在正则表达式中使用时(a|b)\1,意味着在a或b之后,下一个字符应该是第一个捕获的组,即a或b,因此这里的正则表达式将匹配aabb.


sid*_*yll 15

如果引用第一组括号中匹配的内容,则引用第一组.后续数字表示后续括号.

(1|2)(3|4)\1\2
Run Code Online (Sandbox Code Playgroud)

会匹配:

1313
1414
2323
2424
Run Code Online (Sandbox Code Playgroud)

如果你有嵌套组,那就不是这样了,只需从左大括号(左大括号)算起.

(groupOne(groupTwo)stillOne(groupThree(groupFour)))
Run Code Online (Sandbox Code Playgroud)