首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用GTM中的RegExp编译器错误来解决JavaScript问题?

如何用GTM中的RegExp编译器错误来解决JavaScript问题?
EN

Stack Overflow用户
提问于 2019-02-27 10:38:07
回答 1查看 779关注 0票数 1

当尝试发布新的GTM版本时,我会得到一些我没有编辑过的变量错误(它们过去是工作的,现在它们显示了错误)。

错误消息:JavaScript错误在第4行,字符18:无法将ECMASCRIPT_2018特性"RegExp查找背后“转换为目标输出语言。

代码:

代码语言:javascript
复制
function(){

  var myRegexp = /(?<=(\/.*\/cat\/)).*?(?=\/)/g; //regex rule
  var result = document.URL.match(myRegexp);
  if(result !== null){
    return result[0];
  }else{
    return null;
  }

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-27 10:41:59

Lookbehind是一个非常新的特性--只有一些浏览器支持它,而且它不能被完全转换(据我所见),因此出现了错误。使用标准匹配,而不是查找,在cat/之后使用一个捕获组,然后返回第一个捕获组:

代码语言:javascript
复制
var pattern = /\/.*\/cat\/([^/]+)/;
var match = document.URL.match(pattern);
return match
? match[1]
: null;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54903512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档