首页 > 解决方案 > 一个正则表达式过滤算术表达式,防止多个连续符号

问题描述

我有一个算术表达式,它可能有多个连续的符号 (1++2-3) 这会在“eval()”函数中产生错误,我只想删除符号的额外重复并只保留一个

我创建了这个正则表达式:/[+-/*]{2,}/g 问题是它捕获了所有重复,所以我最终一起删除了这个符号

let eq = '1+++2-2'
let regex = /[+-/*]{2,}/g

标签: javascriptregexfilter

解决方案


let eq = "1+++2-2";
let result = eq.replace(/([+-/*]){2,}/g, "$1");

console.log(result);

// 1+2-2

推荐阅读