Круглые скобки как способ запоминания.
При совпадении с образцом никаких изменений не происходит, просто совпавшая часть строки запоминается, и к ней можно впоследствии обращаться. Например, (a) продолжает соответствовать букве a, а ([a-z]) - любой строчной букве.
Чтобы вызвать часть строки, который программа запомнила, нужно поставить косую черту и целое число.
/mike(.)igor\1/
Соответствует строке, состоящей из слова mike, любого символа, слова igor и еще одного такого же символа. Единица обозначает первую заключенную в круглые скобки часть регулярного выражения. Если таких частей больше, чем одни, то вторая обозначается как \2 ...
/a(.)b(.)c\2\1/;
Запоминаемая часть может состоять не только из одного символа.
/a(.*)b\1c/;
- a, любое количество символов, b, ту же последовательность символов, и c.