我试图在多个括号之间提取字符串,但它也应该没有任何括号。这就是我现在所拥有的
Pattern pw = Pattern.compile("\\(?(.*)\\)?\\^\\(?(.*)\\)?");
Matcher m = pw.matcher("2+1^(3+4)");
if(m.find()){
System.out.println(m.group(1));
System.out.println(m.group(2));
}"
打印:
2+1
3+4)
它应该是:
2+1
3+4
感谢任何帮助!
答案 0 :(得分:0)
尝试使用以下方法使其变得非贪婪:
.*?
而不是.*
你的正则表达式:
Pattern pw = Pattern.compile("\\(?(.*?)\\)?\\^\\(?(.*?)\\)?");