Регулярні вирази
Матеріал з 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 (?:)
- Більше про роботу регулярних виразів можна прочитати в цій статті.