regex - 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 之类的字符串?
它应该返回以绿色突出显示的内容,而不是黄色。
解决方案
你需要使用
REGEXP_EXTRACT(Etiqueta de evento, "^.*? - (.*?)(?: - |$)")
请参阅正则表达式演示。
细节
^
- 字符串的开始.*?
- 除换行符以外的任何 0 个或多个字符,尽可能少-
- 一个-
字符串(.*?)
- 捕获组:除换行符之外的任何 0 个或多个字符,尽可能少(?: - |$)
-
- 匹配字符串或字符串结尾的非捕获组。
推荐阅读
- linux - 如何使用终端命令删除 linux 上名为“-rf”的目录?
- firebase - 如何以安全的方式从 Cloud Tasks 调用 Firebase 函数?
- visual-studio-code - 将 google-java-format 从 Eclipse 导入 VSCode
- c++ - constexpr 初始化一个数组
- javascript - mongoose - 从 Model.find() 获取嵌套的对象数组并操作内部数组
- c# - 多个开发人员(Unity 帐户)是否可以使用带有 Unity 的 GitLab CI/CD?
- hibernate - 如何在 Hibernate 中使用自动模式生成覆盖而不是附加 SQL 模式定义?
- postgresql - 有没有办法在不向最终用户公开分数的情况下实现基于价值的分页
- python - Python-删除具有最低值的项目,如果两个值相同,则删除具有最低键的项目
- go - golang 中睡眠导致时间间隔相差十倍