Перейти к содержимому

Регулярные выражения

В этой статье описаны регулярные выражения в правилах обработки писем при извлечении из них данных. В функциях REGEXPFIND и REGEXPREPLACE результат зависит от самой функции — см. статью о соответствующей функции.

Регулярные выражения в правилах обработки писем позволяют выделить нужный фрагмент текста при извлечении данных из письма.

Важно

  • Для работы с регулярными выражениями требуются навыки программирования. Если у вас нет таких навыков, рекомендуем обратиться за помощью к специалисту.
  • В Planfix регулярные выражения работают с параметрами Pattern.DOTALL и Pattern.MULTILINE. В онлайн-валидаторе выберите gms.
  • Регулярные выражения также можно использовать с функциями REGEXPFIND и REGEXPREPLACE.

Формат регулярных выражений

В Planfix используется формат регулярных выражений, принятый в Java. В синтаксисе регулярных выражений используются символы <([{\^-=$!|]})?*+.>, которые можно сочетать с буквами, создавая метасимволы. Наиболее часто используемые метасимволы перечислены в таблице:

Метасимвол Значение
^ начало строки
$ конец строки
\d цифра
\D любой символ, кроме цифры
\s пробельный символ
\S символ, отличный от пробельного
\w буквенно-цифровой символ или знак подчеркивания
\W любой символ, кроме буквенно-цифровых символов и знаков подчеркивания
. любой символ
\t символ табуляции
\n символ перевода строки
\r символ возврата каретки
[abc] любой из указанных символов (a, b или c)
[^abc] любой символ, кроме указанных (не a, b и не c)
[a-zA-Z] объединение диапазонов (латинские буквы от a до z, без учета регистра)
[a-d[m-p]] объединение символов (от a до d и от m до p)
[a-z&&[def]] пересечение наборов символов (d, e, f)
[a-z&&[^bc]] вычитание символов (a, d-z)
 ? ноль или один раз
* ноль или более раз
+ один или более раз
{n} n раз
{n,} n или более раз
{n,m} не менее n и не более m раз

Полезная информация

  • В правилах обработки писем возвращается только первая захватывающая группа. Заключите в скобки текст, который нужно вернуть, а остальные группы сделайте незахватывающими — (?:...). Это относится только к извлечению данных из письма. Функция REGEXPREPLACE заменяет все совпадение.
  • Подробнее о регулярных выражениях можно прочитать в этой статье.

Перейти