regex - 使用正则表达式在 Google Datastudio 中提取 URL 文件夹
问题描述
在我的 datastudio 中,我目前正在尝试通过在单独的计算字段中使用组参数来提取 URL 文件夹及其子目录。
第一个计算字段如下所示:
REGEXP_EXTRACT(Landing Page,'https?:\\/\\/.*?\\/(.*?)\\/.*')
对于每个文件夹级别,我会将组移动一个目录级别(依此类推......):
REGEXP_EXTRACT(Landing Page,"https?:\\/\\/.*?\\/.*?\\/(.*?)\\/.*")
问题是最后没有斜杠的每个 URL 都被分组为“null”。我试图使最后一个斜杠成为可选的,但这根本行不通。
REGEXP_EXTRACT(Landing Page,'https?:\\/\\/.*?\\/(.*?)\\/?.*')
解决方案
我建议在这里使用否定字符类。
要获得第一个子部分,您可以使用
REGEXP_EXTRACT(Landing Page, "https?://[^/]+/([^/]+)/[^/]+")
^^^^^^^
要获得第二个,您可以使用
REGEXP_EXTRACT(Landing Page, "https?://[^/]+/[^/]+/([^/]+)")
^^^^^^^
请注意,您不必转义/
字符,它不是特殊的正则表达式元字符。
请参阅正则表达式演示。
推荐阅读
- h2o - 从 python 重用 h2o 模型 mojo 或 pojo 文件
- javascript - Jquery删除动态下拉删除整个父div
- javascript - 如何在Javascript字符串中转义斜杠?
- macos - Microsoft 添加 ins 功能区自定义选项卡在 Outlook 中不起作用
- java - HashSet 代替 ArrayList 在性能上的缺点
- clojure - Clojure:实现一些功能
- angular - 离子原生联系人“plugin_not_installed”
- html - 我们可以从/输入数据保存到同一个html文件吗
- sql - SSIS:我需要从 For Each 循环中的 2 个不同查询填充 2 个 Excel 电子表格
- javascript - 使用带有类的 setInterval() 交换图像 – p5.js