IsRegEx() возвращает ответ на вопрос, является ли указанный текст правильным регулярным выражением.
Эта функция выполняет операции с регулярными выражениями, чувствительные к регистру. В качестве альтернативы можно использовать вариант IsRegExI() для выполнения операций с регулярными выражениями без учета регистра.
Синтаксис:
IsRegEx
(expr [, debug])
Возвращаемые типы данных: двойное значение
Аргументы
Аргумент
Описание
expr
Строковое выражение, содержащее регулярное выражение для оценки.
debug
Необязательный аргумент. Если для этого аргумента указано значение, выражение возвращает текстовую подсказку, описывающую, как можно исправить неправильное регулярное выражение.
Примеры функции
Пример
Результат
IsRegEx('[a-z]')
Возвращает -1 (true ― истина).
IsRegEx(']0-1[', 1)
Этот пример возвращает сообщение об ошибке с подсказкой, как исправить неправильное регулярное выражение ]0-1[.
IsRegEx('[a-z')
Возвращает 0 (false ― ложь). Сообщение об ошибке не отображается, поскольку аргумент debug не указан.
Когда это следует использовать
Можно использовать IsRegEx(), чтобы проверить правильность написанных регулярных выражений в Qlik Sense. Например, можно загрузить таблицу в приложение с входным текстом и оценкой, является ли он допустимым регулярным выражением.
Пример 1: загрузка допустимости регулярного выражения в модель данных
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Поле reg_exp, содержащее входные строки, которые могут быть или не быть допустимыми регулярными выражениями.
Два вычисляемых поля для проверки того, является ли каждое значение в reg_exp допустимым регулярным выражением или нет:
validity_no_hint: отображает -1 (true ― истина), если регулярное выражение является допустимым, и 0 (false ― ложь), если оно недопустимо.
validity_with_hint: отображает -1 (true ― истина), если регулярное выражение является допустимым. Если регулярное выражение является недопустимым, автоматически генерируется сообщение об ошибке, в котором описаны проблемы во входном тексте и возможные способы их устранения.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
reg_exp
validity_no_hint
validity_with_hint
Таблица результатов
reg_exp
validity_no_hint
validity_with_hint
([a-z)(0-9)+
0
-1
[a-z]+
-1
Текст подсказки (генерируемый автоматически)
\$|¢(0-9)
-1
Текст подсказки (генерируемый автоматически)
abcdefg|[0-7
0
-1
Пример 2: загрузка только допустимого регулярного выражения в модель данных
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Поле reg_exp, содержащее входные строки, которые могут быть или не быть допустимыми регулярными выражениями. Это поле содержится в таблице с именем Regular Expressions.
Предложение where, которое загружает записи в модель данных только в том случае, если вводимые данные являются допустимым регулярным выражением.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте это поле как измерение:
reg_exp
Таблица результатов
reg_exp
[a-z]+
\$|¢(0-9)
[a-z]+ и \$|¢(0-9) являются допустимыми регулярными выражениями, поэтому они загружены в модель данных. ([a-z)(0-9)+ и abcdefg|[0-7 не являются допустимыми регулярными выражениями, поэтому они не загружены в модель данных.
Пример 3: выражения диаграммы
Обзор
В этом примере набор входных строк загружается в модель данных и добавляется в таблицу вместе с двумя вычисляемыми измерениями, которые оценивают правильность регулярного выражения. Два вычисляемых измерения передают одну и ту же информацию разными способами.
Откройте Редактор загрузки данных и добавьте следующий скрипт загрузки в новый раздел.
Скрипт загрузки содержит поле reg_exp, содержащее входные строки, которые могут быть или не быть допустимыми регулярными выражениями. Это поле содержится в таблице с именем Regular Expressions.
Загрузите данные и откройте лист. Создайте новую таблицу. Добавьте reg_exp как измерение.
Затем добавьте следующее вычисляемое измерение:
=IsRegEx(reg_exp)
Это базовое выражение диаграммы, которое показывает -1 (true ― истина), если входные данные являются допустимым регулярным выражением, и 0 (false ― ложь), если это не так.
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!