我想刪除使用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