regex - 具有两个不同分隔符的正则表达式提取
问题描述
在 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
。
请注意,它们都不是正_
则:
表达式的特殊字符,因此它们不需要转义。
推荐阅读
- security - 可以在我的网站中覆盖 applicationhost.config 中 http 动词的 RequestFiltering 值吗?
- visual-studio - Matlab:无法加载文件或程序集
- html - 悬停时菜单在导航栏中向左移动
- lorawan - 无法使 AT Master 应用程序在 NUCLEO-LRWAN1/NUCLEO-L073RZ 对上工作
- android - 我正在尝试调用 DisplayMatch 给 listviewMatch.setAdapter(adapter) 中的错误,如果可能的话,请帮助我提供任何替代方案
- reactjs - 如何在材质 UI 按钮组件上传递数据
- angular - 子组件引用父组件时出现 Angular NG3003 错误
- node.js - 使用 supertest 模拟每个测试依赖项
- python - 使用 Python 将单波段 Tif 图像转换为伪彩色单波段图像
- javascript - 按对象字段对数组进行排序