Данный функционал реализован в конфигурации 1С:Переводчик начиная с версии 2.1.
Бесплатно скачать её можно на сайте 1C:Developer Network.
Подробнее о регулярных выражениях удачнее всего, на мой взгляд, написано в документации PHP.
Хороший отладчик регулярных выражений.
Поддерживаемый синтаксис:
Модификаторы, должны располагаться в начале шаблона, например (?i):
i - регистронезависимый поиск.
Символы шаблона:
. - один любой символ.
\. - символ точка.
\s - пробельный символ.
\d - цифра.
\n - символ новой строки.
\r - символ возврата каретки.
\S - не пробельный символ.
* - любое количество символов (должен располагаться после повторяемого символа,
например .*), по умолчанию работает в режиме "жадный".
+ - один или больше символов (должен располагаться после повторяемого символа,
например .+), по умолчанию работает в режиме "жадный".
? - один или ни одного символа (должен располагаться после повторяемого символа,
например .?), по умолчанию работает в режиме "жадный".
? после * или + - переключает режим "жадный" в режим "ленивый".
\A, ^ - начало строки.
\z, $ - конец строки.
(, ) - начало и конец группы, например (на|около).
| - разделитель альтернатив в группе.
[, ] - начало и конец списка символов, например [abxv\s], [^R].
^ - в начале списка символов означает, что список содержит символы, которые не должны
совпасть со строкой.
\], \[, \), \(, \}, \{ - открывающие и закрывающие скобки: ], [, ), (, }, {.
\\, \/ - слеши: \, /.
\? - знак вопроса.
\+ - знак плюса.
\- - знак минуса.
\* - знак звёздочка.
\^ - знак циркумфлекс.
\$ - знак доллара.
\| - знак вертикальной полосы.
В прилагаемой к статье обработке приводится пример использования этой возможности.
Поиск в заданной строке по регулярному выражению выполняет функция MatchWildcard модуля StringFunctionsExClientServer. Она возвращает массив с найденными вхождениями, каждый элемент массива - это соответствие, содержащее в нулевом элементе полную найденную строку, а цифрами от 1 и далее - найденные в этом вхождении группы (скобки).
Вхождения = StringFunctionsExClientServer.MatchWildcard(ИсходныйТекст, "(?i)<name>(.*?)<\/name>", Истина);