man*_*lds 50
\1
- 它表示匹配表达式中的第一个捕获组.\n
将成为第n个捕获组.(注意,这\0
将是完全匹配).在许多引擎中,n的上限是9,但有些支持也高达99.
当在正则表达式中使用时(a|b)\1
,意味着在a或b之后,下一个字符应该是第一个捕获的组,即a或b,因此这里的正则表达式将匹配aa
或bb
.
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)