Перейти к основному содержимому Перейти к дополнительному содержимому

ExtractRegEx — функция скриптa и диаграммы

ExtractRegEx() извлекает текст из входного строкового выражения, используя указанный шаблон регулярного выражения. Функция возвращает нулевое значение, если не найдено ни одного совпадения.

Эта функция выполняет операции с регулярными выражениями, чувствительные к регистру. В качестве альтернативы можно использовать вариант ExtractRegExI() для выполнения операций с регулярными выражениями без учета регистра.

Синтаксис:  

ExtractRegEx (text, regex [, field_no])

Возвращаемые типы данных: строка

Аргументы
Аргумент Описание
text Строковое выражение, содержащее текст, который будет извлечен в возвращаемое значение.
regex Регулярное выражение, которое будет использоваться для извлечения текста.
field_no

Номер совпадения, которое нужно извлечь. Это полезно, когда в тексте может быть найдено несколько совпадений с регулярным выражением. Например, укажите значение 4, чтобы извлечь четвертое совпадение. Данный аргумент является необязательным. Укажите отрицательное значение, чтобы изменить порядок совпадений на обратный.

Следующие правила применяются независимо от того, используется функция в скрипте загрузки или выражении диаграммы:

  • Если field_no имеет положительное значение, функция вернет одно значение, определяя совпадения слева направо.

  • Если field_no имеет отрицательное значение, функция вернет одно значение, определяя совпадения справа налево.

При использовании функции в скрипте загрузки:

  • Если функция ExtractRegEx() используется в операторе LOAD и field_no опускается, функция генерирует столько записей, сколько находит совпадений.

  • Если с помощью функции ExtractRegEx() загружено несколько полей и ни в одном из них не задан аргумент field_no, будет создано декартово произведение всех возможных комбинаций.

При использовании функции в выражениях диаграммы:

  • Если значение field_no опущено, по умолчанию используется значение 1.

Примеры функции
Пример Результат
ExtractRegEx('a,b c;1 2,3','[a-z]|[0-9]', 1) Возвращает a, то есть первое найденное совпадение.
ExtractRegEx('a,b c;1 2,3','[a-z]|[0-9]', 2) Возвращает b, то есть второе найденное совпадение.
ExtractRegEx('a,b c;1 2,3','[a-z]|[0-9]', 4) Возвращает 1, то есть четвертое найденное совпадение.
ExtractRegEx('abc','a|b',-1) Возвращает b. Если задано отрицательное значение, подсчет совпадений ведется в обратном порядке.
ExtractRegEx('A,B C;1 2,3','[a-c]|[4-9]') Возвращает нулевое значение, так как ExtractRegEx() учитывает регистр, а вариант без учета регистра не использовался.
ExtractRegExI('A,B C;1 2,3','[a-c]|[4-9]') Возвращает A, поскольку был использован вариант ExtractRegExI(), не учитывающий регистр.

Когда это следует использовать

Можно использовать Extract RegEx() для извлечения информации, которую требуется изолировать от данных, которые могут также содержать другую информацию (например, произвольный текст или строки JSON). Пример.

  • Извлекайте из текста адреса электронной почты, номера телефонов, номера счетов и другую информацию.

  • Извлекайте из текста числовые значения (например, денежные суммы).

  • Стандартизируйте форматирование текстовых или числовых данных.

Пример 1: скрипт загрузки для извлечения адресов электронной почты из JSON

Пример 2: скрипт загрузки для извлечения числовых значений из денежных сумм

Пример 3: выражения диаграммы для извлечения адресов электронной почты из JSON

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!