Что означает число после обратной косой черты в регулярном выражении?
(a|b)\1
Что значит \1
значит в этом выражении?
2 ответа
\1
- это означает первую группу захвата в сопоставленном выражении. \n
будет n-й группой захвата. (Обратите внимание, что \0
будет весь матч). Во многих двигателях верхний предел для n равен 9, но некоторые также поддерживают до 99.
При использовании в регулярных выражениях типа (a|b)\1
, это означает, что после a или b следующий символ должен быть первой захваченной группой, которая является a или b, поэтому регулярное выражение здесь будет соответствовать aa
или же bb
,
Если относится к тому, что было найдено в первом наборе скобок, первая группа. Последующее число означает последующие скобки.
(1|2)(3|4)\1\2
Будет соответствовать:
1313
1414
2323
2424
Не то чтобы если у вас есть вложенные группы, просто сосчитайте с открывающей скобки (левой скобки).
(groupOne(groupTwo)stillOne(groupThree(groupFour)))