首页 > 解决方案 > Data Studio:当字符出现多次时,正则表达式不起作用

问题描述

我需要捕获“-”字符之间的所有内容。

例如:

示例 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, ".*\\- (.*) ?\\-?")

此处为 REGEXP_EXTRACT 的 Google 文档

我需要改变什么,所以它适用于示例 2 之类的字符串?

它应该返回以绿色突出显示的内容,而不是黄色。

在此处输入图像描述

标签: regexgoogle-data-studiore2

解决方案


你需要使用

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

请参阅正则表达式演示

细节

  • ^- 字符串的开始
  • .*?- 除换行符以外的任何 0 个或多个字符,尽可能少
  • - - 一个 - 字符串
  • (.*?)- 捕获组:除换行符之外的任何 0 个或多个字符,尽可能少
  • (?: - |$) - - 匹配字符串或字符串结尾的非捕获组。

推荐阅读