当尝试发布新的GTM版本时,我遇到了一些我未编辑的变量的错误(它们曾经起作用,现在它们显示错误)。
错误消息:JavaScript编译器错误错误,第4行,字符18: 无法将ECMASCRIPT_2018功能“ RegExp向后看”转换为目标 输出语言。
代码:
function(){
var myRegexp = /(?<=(\/.*\/cat\/)).*?(?=\/)/g; //regex rule
var result = document.URL.match(myRegexp);
if(result !== null){
return result[0];
}else{
return null;
}
}
答案 0 :(得分:1)
Lookbehind是一项非常新的功能-只有某些浏览器支持它,并且无法完全进行编译(据我所知),因此是错误。使用标准匹配而不是向后搜索,在 [DllImport("libc.so.6")]
private static extern int setmntent([MarshalAs(UnmanagedType.LPTStr)] string path, [MarshalAs(UnmanagedType.LPTStr)] string argv);
[DllImport("libc.so.6")]
private static extern int getmntent(// What I should do?);
[DllImport("libc.so.6")]
private static extern int endmntent(//What I should do?);
private static void Main(string[] args)
{
var aFile = setmntent("/proc/mounts", "r");
//What I should do?
Console.ReadLine();
}
之后的部分使用捕获组,然后返回第一个捕获组:
cat/