首页 > 解决方案 > 从表达式中删除空括号

问题描述

我想从 javascript 正则表达式中的表达式中删除那些为空的括号。例如 (() a and b)-> ( and b)。它也应该适用于 case ( ( ( () ) )a and b)-> (a and b)。基本上它应该从表达式中删除不必要的括号。我正在写正则表达式

expression.replace(/(\s)/,'');   

但这不起作用。任何人都可以帮忙吗?

标签: javascriptregexparentheses

解决方案


有不同的方法可以做到这一点,一种简单的迭代方法是重复删除空括号(需要在正则表达式中转义!):

function remove_empty_parens(str) {
    let new_str = str.replace(/\(\s*\)/, '');
    return new_str == str ? str : remove_empty_parens(new_str);
}

推荐阅读