具有两个不同分隔符的正则表达式提取

Regex Extract with two different delimiters

在 Google Data Studio 中工作,在提取两个不同分隔符之间的字符串时遇到问题

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

Company_Clothes_Shirt:Red_Online_US

我只想提取 Red

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

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

非常感谢对此的任何帮助!

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

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

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

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