首页 > 解决方案 > 具有两个不同分隔符的正则表达式提取

问题描述

在 Google Data Studio 中工作并且无法在两个不同的分隔符之间提取字符串

例如,如果我有以下行项目:

Company_Clothes_Shirt:Red_Online_US

我想提取只是Red

我试过 REGEXP_EXTRACT(Dimension,'^(?:[^\\_]*\\_){2}([^\\:]*\\:){1}')了,但它只是给了我Shirt:

尝试了其他几次迭代,但只能提取第一部分 ( Shirt),而不是第二部分 ( Red)。

将不胜感激任何帮助!

标签: regexgoogle-data-studiore2

解决方案


您不需要根据整个字符串进行提取,只需提取两个分隔符之间的值即可:

SELECT REGEXP_EXTRACT(Dimension,':([^_]+)_')

对于 的输入值Company_Clothes_Shirt:Red_Online_US,这将给出Red

请注意,它们都不是正_:表达式的特殊字符,因此它们不需要转义。


推荐阅读