使用正则表达式使用 Google 标签管理器提取 URL 的一部分
Extract part of URL with Google tag manager using regex
我正在寻找类似的东西:Extract part of URL with Google tag manager
但由于 url 结尾的不同,有些以 / 结尾,有些则没有。
我的urls:
- /mobilabonnement/mobilabonnement-for-alle/smart-12-gb
/mobilabonnement/mobilabonnement-for-alle/smart-12-gb/
/mobilabonnement/mobilabonnement-for-ungdom/smart-ung-12-gb
/mobilabonnement/mobilabonnement-for-ungdom/smart-ung-12-gb/
我正在尝试提取 "smart-12-gb" 和 "smart-ung-12-gb"。
function(){
var myRegexp = /(smart-|ung-|barn-)(.*)/g;
var result = {{Updated Page Path}}.match(myRegexp);
if(result !== null){
result[0] = result[0].replace("/","");
return result[0];
}else{
return null;
}
}
这个函数有效,但我想知道是否可以用正则表达式一次性完成?
如果 smart 在开头,您可以将 ung-
和 barn-
部分设为可选,然后不匹配正斜杠:
\bsmart-(?:ung-|barn-)?[^\/]+
将匹配:
\bsmart-
匹配单词边界 \b
后跟 smart-
(?:
非捕获组
ung-
字面匹配
|
或
barn-
字面匹配
)?
关闭非捕获组并使其可选
[^\/]+
使用否定字符匹配 1 次以上而不是正斜杠 class
要匹配 末尾的这些字符串 URL 只有 你需要使用
/\/((?:smart|ung|barn)-[^\/]*)\/?$/
你的函数看起来像
function(){
var myRegexp = /\/((?:smart|ung|barn)-[^\/]*)\/?$/;
var result = {{Updated Page Path}}.match(myRegexp);
return result ? result[1] : null;
}
图案详情
\/
- 反斜杠
((?:smart|ung|barn)-[^\/]*)
- 第 1 组:smart
、ung
或 barn
-
- 一个连字符
\/?
- 1 或 0 个反斜杠
$
- 字符串结尾。
我正在寻找类似的东西:Extract part of URL with Google tag manager
但由于 url 结尾的不同,有些以 / 结尾,有些则没有。
我的urls:
- /mobilabonnement/mobilabonnement-for-alle/smart-12-gb
/mobilabonnement/mobilabonnement-for-alle/smart-12-gb/
/mobilabonnement/mobilabonnement-for-ungdom/smart-ung-12-gb
/mobilabonnement/mobilabonnement-for-ungdom/smart-ung-12-gb/
我正在尝试提取 "smart-12-gb" 和 "smart-ung-12-gb"。
function(){
var myRegexp = /(smart-|ung-|barn-)(.*)/g;
var result = {{Updated Page Path}}.match(myRegexp);
if(result !== null){
result[0] = result[0].replace("/","");
return result[0];
}else{
return null;
}
}
这个函数有效,但我想知道是否可以用正则表达式一次性完成?
如果 smart 在开头,您可以将 ung-
和 barn-
部分设为可选,然后不匹配正斜杠:
\bsmart-(?:ung-|barn-)?[^\/]+
将匹配:
\bsmart-
匹配单词边界\b
后跟smart-
(?:
非捕获组ung-
字面匹配|
或barn-
字面匹配
)?
关闭非捕获组并使其可选[^\/]+
使用否定字符匹配 1 次以上而不是正斜杠 class
要匹配 末尾的这些字符串 URL 只有 你需要使用
/\/((?:smart|ung|barn)-[^\/]*)\/?$/
你的函数看起来像
function(){
var myRegexp = /\/((?:smart|ung|barn)-[^\/]*)\/?$/;
var result = {{Updated Page Path}}.match(myRegexp);
return result ? result[1] : null;
}
图案详情
\/
- 反斜杠((?:smart|ung|barn)-[^\/]*)
- 第 1 组:smart
、ung
或barn
-
- 一个连字符\/?
- 1 或 0 个反斜杠$
- 字符串结尾。