Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法读取属性';地图';空、正则表达式匹配组的数目_Javascript_Regex_Google Apps Script - Fatal编程技术网

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(“*”,”)这不起作用。我想我需要使用一个更复杂的正则表达式来处理替换。@杰弗史密斯抱歉,我没有得到。如果你提供一个示例文本和所需的输出,我可以帮助更多。请考虑接受和投票的答案。