Skip to content

Пример регулярного выражения

1. Обзор

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

1.1 Ожидаемое воздействие

Например, пользователям нужно оценить текстовое поле "URL", если поле состоит из одних чисел, оно будет помечено как "Чистые числа", в противном случае оно будет помечено как "Другие", как показано на следующем рисунке:

1607327572964997.png

1.2 Идеи для реализации

Используйте функцию REGEXP, чтобы определить, является ли оно чистым числом;

Затем используйте функциюIF, чтобы отметить его.

2. Примеры

Пример данных: документ сценария.xlsx

Загрузите данные примера в FineBI.

2022-08-30_16-47-53.png

Метод 1

Добавьте шаг "Новый столбец формул", названный "Чистые числа", введите формулу: ЕСЛИ(REGEXP(URL,"\\d*")=1, "Чистые числа", "Другое"), как показано на рисунке ниже:

2022-08-30_16-52-37.png

Примечание: Функции и поля в окне формул должны быть выбраны щелчком мыши в области выбора слева и не могут быть введены вручную.

Описание формулы:

формулыинструкции
REGEXP(URL, "\\d*")Возвращает 1, если поле URL содержит все числа, 0 - в противном случае.* \d означает совпадение с числом, если вы хотите использовать символ \, вам нужно добавить еще один обратный слеш. Поэтому, когда формула имеет вид regexp(string,"\d"), она покажет, что это не законно и должна быть записана как regexp(string,"\\\d"). * * Указывает, что оно совпадает с предыдущим подвыражением ноль или более раз.
IF(REGEXP(URL,"\\d*")=1, "Обычный цифровой", "Другой")Если возвращаемое значение равно 1, то выведите "чистое число", в противном случае выведите "другое".

Метод II

Также можно использовать формулу: IF(REGEXP(URL,"^[0-9]*$")=1, "Чисто числовой", "Другой"), как показано ниже:

2022-08-30_16-54-15.png

Примечание: Функции и поля в окне формул должны быть выбраны щелчком мыши в области выбора слева и не могут быть введены вручную.

Описание формулы:

формулыинструкции
(REGEXP(URL, "^[0-9]*$"))Возвращает 1, если поле URL содержит все числа, 0 - в противном случае.^ - начальная позиция совпадающей входной строки.[0-9]* соответствует нескольким цифрам, [0-9] соответствует одной цифре, * соответствует предыдущему подвыражению ноль или более раз;$ - это конечная позиция совпадающей входной строки.
IF(REGEXP(URL,"^[0-9]*$")=1, "Обычный цифровой", "Другой")Если возвращаемое значение равно 1, то выведите "чистое число", в противном случае выведите "другое".

Регулярное выражение показано ниже:
1607329566936994.png