Статьи / Регулярные выражения


Обратные ссылки

'text [tag]text[/tag]'.match(/\[([a-z]+)\][a-z]+\[\/\1\]/i);
/*
* результат:
* ["[tag]text[/tag]", "tag"]
*/


Разложим регулярное выражение на части.

Ищем текст который находится внутри квадратных скобок:
\[([a-z]+)\] // находит tag


и создаём на него обратную ссылку (\1):
\[\/\1\] // находит \tag


Нумерация ссылок начинается с 1, слева на право в круглых скобках.

Квадратные скобки и косая черта экранируются обратной косой чертой, чтобы не было ошибки синтаксиса.

В статье рассмотрен механизм обратных ссылок регулярных выражений в javascript.