Регулярные выражения: различия между версиями
Материал из Planfix
Artem (обсуждение | вклад) Нет описания правки |
Artem (обсуждение | вклад) Нет описания правки |
||
Строка 68: | Строка 68: | ||
|- | |- | ||
|} | |} | ||
Версия от 10:38, 16 января 2022
Регулярные выражения в правилах обработки почты позволяют выделять нужный фрагмент текста в процессе извлечения данных из письма.
Важно
- Использование регулярных выражений подразумевает наличие навыков программирования. Если у вас нет этих навыков, рекомендуем обратиться к специалистам, которые ими обладают.
- Регулярные выражения в ПланФиксе выполняются с опциями Pattern.DOTALL и Pattern.MULTILINE. В онлайн валидаторе — gms.
Формат регулярных выражений
В ПланФиксе используется формат регулярных выражений принятый в Java. Синтаксис регулярных выражений основан на использовании символов <([{\^-=$!|]})?*+.>, которые можно комбинировать с буквенными символами для получения метасимвола. Наиболее употребляемые метасимволы перечислены в таблице:
Метасимвол | Назначение |
---|---|
^ | начало строки |
$ | конец строки |
\d | цифровой символ |
\D | нецифровой символ |
\s | символ пробела |
\S | непробельный символ |
\w | буквенно-цифровой символ или знак подчёркивания |
\W | любой символ, кроме буквенного, цифрового или знака подчёркивания |
. | любой символ |
\t | символ табуляции |
\n | символ новой строки |
\r | символ возврата каретки |
[абв] | любой из перечисленных (а,б, или в) |
[^абв] | любой, кроме перечисленных (не а,б, в) |
[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 раз |
Полезная информация
- В результат обработки текста при помощи регулярного выражения попадает первая capturing группа. Соответственно, то, что нужно, чтобы было в результате надо взять в скобки, а остальные группы сделать non-capturing (?:)
- Больше о работе регулярных выражений можно прочитать в этой статье.