Regular expression: Difference between revisions

From Planfix
Jump to: navigation, search
 
No edit summary
Line 1: Line 1:
'''Регулярные выражения''' в [[Правила создания задач по e-mail | правилах обработки почты]] позволяют выделять нужный фрагмент текста в процессе [[Правило для почты: Извлечение данных | извлечения данных из письма]].
== Важно ==
*Использование регулярных выражений подразумевает наличие '''навыков программирования'''. Если у вас нет этих навыков, рекомендуем обратиться к специалистам, которые ими обладают.
== Формат регулярных выражений ==
В ПланФиксе используется формат регулярных выражений принятый в Java. Синтаксис регулярных выражений основан на использовании символов <([{\^-=$!|]})?*+.>, которые можно комбинировать с буквенными символами для получения метасимвола. Наиболее употребляемые метасимволы перечислены в таблице:
{| class="wikitable" style="text-align: center;"
|-
! Метасимвол !!                                              Назначение
|-
|  <nowiki> ^ </nowiki> ||  начало строки
|-
|  <nowiki> $  </nowiki> ||  конец строки
|-
|  <nowiki> \d    </nowiki> ||  цифровой символ
|-
|  <nowiki> \D    </nowiki> ||  нецифровой символ
|-
|  <nowiki> \s    </nowiki> ||  символ пробела
|-
|  <nowiki> \S    </nowiki> ||  непробельный символ
|-
|  <nowiki> \w    </nowiki> ||  буквенно-цифровой символ или знак подчёркивания 
|-
|  <nowiki> \W    </nowiki> ||  любой символ, кроме буквенного, цифрового или знака подчёркивания
|-
|  <nowiki> .  </nowiki> ||  любой символ
|-
|  <nowiki> \t    </nowiki> ||  символ табуляции
|-
|  <nowiki> \n    </nowiki> ||  символ новой строки 
|-
|  <nowiki> \r    </nowiki> ||  символ возврата каретки
|-
|  <nowiki> [абв]    </nowiki> ||  любой из перечисленных (а,б, или в)
|-
|  <nowiki> [^абв]    </nowiki> ||  любой, кроме перечисленных (не а,б, в)
|-
|  <nowiki> [a-zA-Z]    </nowiki> ||  слияние диапазонов (латинские символы от a до z без учета регистра)
|-
|  <nowiki> [a-d[m-p]]    </nowiki> ||  объединение символов (от a до d и от m до p)
|-
|  <nowiki> [a-z&&[def]]    </nowiki> ||  пересечение символов (символы d,e,f)
|-
|  <nowiki> [a-z&&[^bc]]    </nowiki> ||  вычитание символов (символы a, d-z)
|-
|  <nowiki> ?  </nowiki> ||  один или отсутствует
|-
|  <nowiki> *  </nowiki> ||  ноль или более раз 
|-
|  <nowiki> +  </nowiki> ||  один или более раз
|-
|  <nowiki> {n}  </nowiki> ||  n раз
|-
|  <nowiki> {n,}  </nowiki> ||  n раз и более 
|-
|  <nowiki> {n,m}    </nowiki> ||  не менее n раз и не более m раз
|-
|}
== Полезная информация ==
*В результат обработки текста при помощи регулярного выражения попадает первая capturing группа. Соответственно, то, что нужно, чтобы было в результате надо взять в скобки, а остальные группы сделать non-capturing '''(?:)'''
*Больше о работе регулярных выражений можно прочитать в [https://javarush.ru/groups/posts/regulyarnye-vyrazheniya-v-java этой статье].





Revision as of 06:15, 19 April 2021

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

Важно

  • Использование регулярных выражений подразумевает наличие навыков программирования. Если у вас нет этих навыков, рекомендуем обратиться к специалистам, которые ими обладают.


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

В ПланФиксе используется формат регулярных выражений принятый в 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 (?:)
  • Больше о работе регулярных выражений можно прочитать в этой статье.


Go To