Ich möchte Klammern mit Java regulären Ausdruck entfernen, aber ich konfrontiert mit Fehler No group 1
Bitte sehen Sie meinen Code und mir helfen.Entfernen Sie die Klammer aus String mit 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;
}
und es ist mein Haupt:
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);
}
Um eine Gruppe zu erfassen, müssen Sie in Ihrer Regex ein Paar nicht umrandete Klammern haben. Angenommen, Sie nehmen diese Änderung vor, aber der Rest des Codes setzt die Klammern wieder ein, nein? –
Warum brauchen Sie Regex dafür? –
@KennethK. Ich brauche es für eine Formel Parsing – Ehsan