Google Data Studio中用REGEXP_EXTRACT从URL提取年月的问题求助
解决方案
你当前的月份提取正则问题是捕获组包含了年份前缀部分,调整捕获组范围即可,直接使用下方正则即可符合要求:
REGEXP_EXTRACT(url,'[0-9]{4}/([0-9]+(?:-[0-9]+)?)')
匹配逻辑说明
- 先匹配
四位年份+斜杠的前缀部分,该部分不放入捕获组 - 捕获组内的规则同时兼容单月格式(如
02)和跨月格式(如11-12) - 无需匹配末尾斜杠,不会影响后续存在其他路径的场景匹配结果
如果你使用的数据库支持正向零宽断言,也可以用更简洁的写法,不需要额外加捕获组:
REGEXP_EXTRACT(url,'(?<=[0-9]{4}/)[0-9]+(?:-[0-9]+)?')
样例测试结果
完全匹配你给出的预期效果:
| 测试URL | 提取结果 |
|---|---|
| /www.site.com/path1/resort/2021/02/sitename | 02 |
| /www.site.com/path1/2021/02 | 02 |
| /www.site.com/path1/2020/11-12 | 11-12 |
| /www.site.com/path1/2020/07-08 | 07-08 |
| /www.site.com/path1/resort/ | null |
内容的提问来源于stack exchange,提问作者Sue
相关产品推荐
相关产品推荐

