Поиск строки с повторяющимся шаблоном в snowflake

#regex #pattern-matching #snowflake-cloud-data-platform

#регулярное выражение #сопоставление с шаблоном #snowflake-облачная платформа для обработки данных

Вопрос:

Я пытаюсь найти строку с повторяющимися шаблонами в таблице snowflake. Я пытаюсь получить это с помощью регулярного выражения.

Пример: Строка : 'abc' , 'abcabc' , 'snowsnowflake'

Запрос возвращает только «‘abcabc’, ‘snowsnowflake’ «. Потому что он имеет повторяющиеся шаблоны.

Спасибо.

Комментарии:

1. Попробуйте (. )1

Ответ №1:

Я не мог заставить его работать с обычным регулярным выражением в SQL, но я смог создать UDF JavaScript для получения желаемых результатов:

 create or replace function find_repeated("x" string)
returns string
language javascript
as
$
return x.match(/(. )1/g)
$;

select x.value
  , find_repeated(x.value)
  , find_repeated(x.value) is not null has_repeated
from table(split_to_table('abc,abcabc,snowsnowflake', ',')) x
 

введите описание изображения здесь