Javascript 无法读取属性';地图';空、正则表达式匹配组的数目
这段带有匹配和映射的代码片段Javascript 无法读取属性';地图';空、正则表达式匹配组的数目,javascript,regex,google-apps-script,Javascript,Regex,Google Apps Script,这段带有匹配和映射的代码片段 .match(/5px">(.*?)<\/b>/g).map(function(val){return val.replace(/<\/?b>/g,'').replace(/5px">/g,'').trim();}); .match(/5px“>(.*)/g).map(函数(val){return val.replace(/g',).replace(/5px“>/g',).trim();}); 。。。正在创
.match(/5px">(.*?)<\/b>/g).map(function(val){return val.replace(/<\/?b>/g,'').replace(/5px">/g,'').trim();});
.match(/5px“>(.*)/g).map(函数(val){return val.replace(/g',).replace(/5px“>/g',).trim();});
。。。正在创建此数组。。。
[“数组中的第一个文本”,“数组中的第二个文本”]
。。。当匹配到此文本字符串时
5px">First text in array </b> random text 5px"> Second text in array </b>
5px>数组中的第一个文本随机文本5px>数组中的第二个文本
在较大脚本的上下文中,我无法读取null的属性“map”。是否有其他方法可以实现相同的结果阵列?匹配所有或匹配不同的参数
我正在使用Apps脚本,试图将gmail摘要消息解析为多个电子表格行
谢谢你的建议 只需从匹配中获取捕获的值:
const string='5px>数组中的第一个文本随机文本5px“>数组中的第二个文本”
console.log(
从(string.matchAll(/5px“>(.*)/g),z=>z[1].trim())
);
const results=match(/5px“>(.*)/g);如果(results){…}
出现错误的原因是该字符串与正则表达式不匹配。你应该定义在这种情况下应该发生什么。你可以做(str.match(/5px“>(.*)/g)??[]).map(…
)。谢谢你的评论和回答!是否可以使用相同的代码片段在这两个字符串“*”和“*”(星号后接空格)之间进行匹配?我似乎无法正确理解语法,因为*在正则表达式中有意义。@JeffSmith,是的,string.matchAll(/\*(.*)/gs)
谢谢@Ryszard,效果很好。若要删除*以使它们不包含在结果数组中,我正在尝试string.matchAll(/*(*?*)*/gs.replace(“*”,”)这不起作用。我想我需要使用一个更复杂的正则表达式来处理替换。@杰弗史密斯抱歉,我没有得到。如果你提供一个示例文本和所需的输出,我可以帮助更多。请考虑接受和投票的答案。