“对此对象的性能非常满意(评论 30、2、1)”
期望的输出:['(评论 30, 2, 1)', 30, 2, 1]
“对此对象的性能非常满意(评论 30)”
期望的输出:['(评论 30)', 30]
我正在尝试使用正则表达式获得高于所需的输出,但我无法获得所需的结果。
我想获取括号内的字符串以及括号内的所有数字。
我想从字符串中删除括号并获取剩余的字符串。
期望的输出:“对此对象的性能非常满意”
console.log("So happy with the performance of this object (Review 30, 2, 1)".match(/\((.*?)\)/)[0].match(/([([0-9]+)\)/));
如果您想在单个匹配操作中获取输出,请使用:
const arr = ['(Review 30, 2, 1)',
'(Review 50)'];
const re= /(?<=\(Review\s+(?:\d+,\s*)*)\d+(?=(?:,\s*\d+)*\))/g;
arr.forEach( el => {
var res = [el];
[...el.matchAll(re)].forEach(m => res.push(m[0]))
console.log(res);
});
输出:
["(Review 30, 2, 1)", "30", "2", "1"]
["(Review 50)", "50"]