Скобки().
Применяются в трёх случаях:
- Для того, что-бы указать число повторений не одного символа, а нескольких.
например /(ABC){1,2}/ совпадает с 'ABC' и 'ABCABC' - для выбора альтернативы. /(yes|no)/ найдёт либо "yes" либо "no"
- для ссылок.
к примеру
/<(b|u)>[^<]+<\/\1>/
это реальный регексп для поиска фраз в строке которые выделены bold'ом или подчёркнуты.
рассмотрим его по частям:
- <(b|u)>
Совпадает с <b> или с <u> - [^<]+
Это последовательность любых символов(не менее одного) до первого < - <\/\1>
Совпадает с </b>, если в начале стоит <b>,
или совпадает с </u>, если в начале стоит <u>
Таким образом под шаблон подходит строка "<b>bold</b>" и строка "<u>abc</u>", но строка "<b>---</u>" таким шаблоном не находится. - <(b|u)>