java如何获取最外层大括号内容,其中可能包含大括号

2025-03-10 13:43:18
推荐回答(3个)
回答1:

按照你的要求编写的获取最外层大括号内容的Java程序如下

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GG {
 public static void main(String[] args) {
  String s="start1 {     a:'aaa',b:{b1:'bb1',b2:'bb2'},cc:'cc1',dd (good):{say good}                 },start2:{e:false,f:123},start3{g1,g2,g3}";
  String regex="start\\d+:?\\s*\\{(.+?)\\}(?=(,start\\d+:?)|$)";
  Pattern p=Pattern.compile(regex);
  Matcher m=p.matcher(s);
  while(m.find()){
   System.out.println(m.group(1));
  }
 }
}

Java正则表达式 start\\d+:?\\s*\\{(.+?)\\}(?=(,start\\d+:?)|$)

运行结果
     a:'aaa',b:{b1:'bb1',b2:'bb2'},cc:'cc1',dd (good):{say good}                 
e:false,f:123
g1,g2,g3

回答2:

你这个用json处理更合适

回答3:

用json