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