Регулярные выражения
Материал из Planfix
								
												
				Регулярные выражения в правилах обработки почты позволяют выделять нужный фрагмент текста в процессе извлечения данных из письма.
Важно
- Использование регулярных выражений подразумевает наличие навыков программирования. Если у вас нет этих навыков, рекомендуем обратиться к специалистам, которые ими обладают.
- Регулярные выражения в ПланФиксе выполняются с опциями Pattern.DOTALL и Pattern.MULTILINE. В онлайн валидаторе — gms.
- Дополнительно использовать регулярные выражения можно в функции REGEXPFIND.
Формат регулярных выражений
В ПланФиксе используется формат регулярных выражений принятый в 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 (?:)
- Больше о работе регулярных выражений можно прочитать в этой статье.