Студия данных: регулярное выражение не работает, когда символ появляется более одного раза - PullRequest
1 голос
/ 26 мая 2020

Мне нужно захватить все, что находится между символами «-».

Например:

Пример 1: vivo - La reina soy yo Мне нужно: La reina soy yo.

Пример 2: VOD - Te volveré a encontrar - Temporada 1 - Cap 23 Мне нужно: Te volveré a encontrar.

У меня есть это регулярное выражение, которое работает только для примера 1:

REGEXP_EXTRACT(Etiqueta de evento, ".*\\- (.*) ?\\-?")

Документация Google для REGEXP_EXTRACT здесь

Что мне нужно изменить, чтобы он работал для строки, как в примере 2?

Он должен возвращать то, что выделено зеленым, а не желтым.

enter image description here

1 Ответ

1 голос
/ 26 мая 2020

Вам необходимо использовать

REGEXP_EXTRACT(Etiqueta de evento, "^.*? - (.*?)(?: - |$)")

См. демонстрацию регулярных выражений .

Подробности

  • ^ - начало строки
  • .*? - любые 0 или более символов, кроме символов разрыва строки, как можно меньше
  • - - a - строка
  • (.*?) - Группа захвата: любые 0 или более символов, кроме символов разрыва строки, как можно меньше
  • (?: - |$) - группа без захвата соответствует либо - , либо концу строки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...