Запрос Bigquery для получения всех вхождений, которые соответствуют определенному шаблону после косой черты - PullRequest
0 голосов
/ 19 июня 2020

У меня есть таблица в bigquery, в которой есть столбец со многими строками, которые содержат строки, которые могут быть примерно такими

row 1 mmmmm hhhhh ccccc tttt /tst /kl:2 /aaaa  nnnn
row 2 ddd bb /lamp /mode:2 /nana
row 3 /dada

Мне нужно поймать все: tst, kl и aaaa, lamp, mode, nana, dada (имеется в виду все слова после sla sh)

Как мне это сделать?

Пробовал что-то подобное, но не нашел

SELECT column1,
  SPLIT(REGEXP_REPLACE(column1,r'(\/.*?(\s|$))', ','))  AS regex_found  
  FROM table

1 Ответ

2 голосов
/ 19 июня 2020

Вы можете использовать запрос, похожий на этот. Он возвращает отдельные повторяющиеся столбцы tokens, содержащие слова, которые вас интересуют:

SELECT
  REGEXP_EXTRACT_ALL(column, r'\/([^ :]+)') AS tokens
FROM
  UNNEST(['mmmmm hhhhh ccccc tttt /tst /kl:2 /aaaa  nnnn', 'ddd bb /lamp /mode:2 /nana', '/dada']) AS column
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...