基于https://www.plivo.com/blog/Send-templatized-SMS-from-a-Google-spreadsheet-using-Plivo-SMS-API/,我有以下代码:
function createMessage(){
data = {
"SOURCE" : "+1234567890",
"DESTINATION" : "+2345678901",
"FIRST_NAME" : "Jane",
"LAST_NAME" : "Doe",
"COUPON" : "DUMMY20",
"STORE" : "PLIVO",
"DISCOUNT" : "20",
}
template_data = "Hi , your coupon code for discount of % purchase at is "
Logger.log(data);
for (var key in data) {
Logger.log(key);
if (data.hasOwnProperty(key)) {
template_data = template_data.replace(new RegExp('+key+', 'gi'),data[key]); // error here
}
}
Logger.log(template_data);
return template_data;
}
当我运行createMessage
时,我得到了:
SyntaxError: Invalid quantifier +. (line 57, file "Code")
从上一个问题开始,如果我理解正确,则循环遍历每个键,值对以不区分大小写的方式(i)查找键(g)的所有匹配项。
我不理解模式'+ key +',这会导致错误,尽管在https://regex101.com/r/CF967t/2进行测试似乎可行,但我尝试测试'+ SOURCE +'等模式也给出了相同的错误。
有人可以给我解释一下问题吗
答案 0 :(得分:2)
sign +通常是重复运算符,使前面的令牌重复一次或多次,将key +表示为key **
您只能通过密钥
template_data = template_data.replace(new RegExp(key, 'gi'),data[key]);