Что означает число после обратной косой черты в регулярном выражении?

(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)))
Другие вопросы по тегам