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

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

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

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

Синтаксис:  

SubFieldRegEx (text, regex_delimiter [, field_no])

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

Аргументы
Аргумент Описание
text Текст входной строки, в которой требуется выполнить поиск шаблона регулярного выражения.
regex_delimiter Строковое выражение, содержащее регулярное выражение для использования в качестве разделителя. Вы можете указать несколько разделителей в одном шаблоне регулярного выражения, разделив их символом | (вертикальная черта).
field_no

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

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

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

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

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

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

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

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

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

Примеры функции
Пример Результат
SubFieldRegEx('a,b c;1 2,3',' |,|;', 1) Возвращает a. В этом примере указаны три разделительных символа (пробел, запятая и точка с запятой).
SubFieldRegEx('a;b;c;1;2;3',';', 2) Возвращает b. В этом случае задан только один символ-разделитель (точка с запятой).
SubFieldRegEx('a,b c;1 2,3',' |,|;', 4) Возвращает 1.

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

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

Пример 1: скрипт загрузки для разделения тегов по транзакции

Пример 2: выражения диаграммы для разделения тегов по транзакциям

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

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