Tôi muốn xóa dấu ngoặc đơn bằng cách sử dụng biểu thức chính quy Java nhưng tôi phải đối mặt với lỗi No group 1
vui lòng xem mã của tôi và trợ giúp tôi.Xóa dấu ngoặc đơn khỏi chuỗi bằng cách sử dụng java regex
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;
}
và nó là chính tôi:
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);
}
Để chụp nhóm, bạn cần phải có một cặp dấu ngoặc đơn chưa được thoát trong regex của mình. Tuy nhiên, giả sử bạn thực hiện thay đổi này, phần còn lại của mã chỉ cần đặt lại dấu ngoặc đơn, phải không? –
Tại sao bạn cần regex cho điều này? –
@KennethK. Tôi cần nó để phân tích cú pháp công thức – Ehsan