我想删除使用Java正则表达式的括号,但我遇到了错误No group 1
请看我的代码并帮助我。使用java正则表达式从字符串中删除括号
public String find_parenthesis(String Expr){
String s;
String ss;
Pattern p = Pattern.compile("\\(.+?\\)");
Matcher m = p.matcher(Expr);
if(m.find()){
s = m.group(1);
ss = "("+s+")";
Expr = Expr.replaceAll(ss, s);
return find_parenthesis(Expr);
}
else
return Expr;
}
,这是我的主:
public static void main(String args[]){
Calculator c1 = new Calculator();
String s = "(4+5)+6";
System.out.println(s);
s = c1.find_parenthesis(s);
System.out.println(s);
}
为了捕获一个组,你需要在你的正则表达式中有一对未转义的圆括号。然而,假设你做了这个改变,剩下的代码只是重新放回括号,不是吗? –
为什么你需要这个正则表达式? –
@KennethK。我需要它来进行公式分析 – Ehsan