Data Studio Regex (Google RE2) 从路径中提取子目录
Data Studio Regex (Google RE2) to Extract Subdirectory from Path
我正在使用 Google Data Studio 字段,其中包含页面 URL 路径。示例:
- /
- /样本-url
- /样本-url-2/
- /#sample-url-5/
- /样本-url-3/样本-url-4
- /样本-url-3/样本-url-6
在每一个中,我都想在自定义 formula/field--from 中捕获粗体部分,第一个斜杠,如果有第二个斜杠,但不包括第二个斜杠,如果是第一个斜杠,还包括第一个斜杠整个路径。 (本质上,第一个子目录。)如果有第二个反斜杠可以使解决方案更简单,我愿意记录第二个反斜杠,但我猜这样会更复杂。我尝试了以下方法:
REGEXP_EXTRACT(Field, "^/[^/]+/$")
但是没有用;一切都返回空值。该字符串有什么问题?
^/[^/]+/$
模式匹配以 /
字符开头,然后包含除 /
之外的一个或多个字符,然后以 /
字符结尾的字符串.因此,您只能匹配 /abc/
、/123abc/
、/abc-1 2 3.?!/
等字符串
你可以使用
REGEXP_EXTRACT(Field, "^(/[^/]*)")
参见regex demo。
注意: REGEXP_EXTRACT
模式中需要一个捕获组,捕获的内容是return值。
此处,^
匹配字符串的开头,(/[^/]*)
是一个 捕获组 ,ID 为 1,匹配 /
字符,并且然后 /
之外的任何零个或多个字符([^/]*
)。
我正在使用 Google Data Studio 字段,其中包含页面 URL 路径。示例:
- /
- /样本-url
- /样本-url-2/
- /#sample-url-5/
- /样本-url-3/样本-url-4
- /样本-url-3/样本-url-6
在每一个中,我都想在自定义 formula/field--from 中捕获粗体部分,第一个斜杠,如果有第二个斜杠,但不包括第二个斜杠,如果是第一个斜杠,还包括第一个斜杠整个路径。 (本质上,第一个子目录。)如果有第二个反斜杠可以使解决方案更简单,我愿意记录第二个反斜杠,但我猜这样会更复杂。我尝试了以下方法:
REGEXP_EXTRACT(Field, "^/[^/]+/$")
但是没有用;一切都返回空值。该字符串有什么问题?
^/[^/]+/$
模式匹配以 /
字符开头,然后包含除 /
之外的一个或多个字符,然后以 /
字符结尾的字符串.因此,您只能匹配 /abc/
、/123abc/
、/abc-1 2 3.?!/
等字符串
你可以使用
REGEXP_EXTRACT(Field, "^(/[^/]*)")
参见regex demo。
注意: REGEXP_EXTRACT
模式中需要一个捕获组,捕获的内容是return值。
此处,^
匹配字符串的开头,(/[^/]*)
是一个 捕获组 ,ID 为 1,匹配 /
字符,并且然后 /
之外的任何零个或多个字符([^/]*
)。