解决方案 »

  1.   

    第二个当然是FULL啊
    User Entry后面第一个冒号后面开始,直到空格,连字符。
    出来的,当然是FULL你的问题是,冒号是写在.*?后面的,也就是说,他不贪婪的是冒号之前的部分。或者如前面所说,这个冒号就是指User Entry后面第一个冒号
      

  2.   

    谢谢啊我的确设想是不贪婪的是第一个冒号之前,这样匹配到就会是第一个冒号,然后直到空格和连字符,这样期望出来的结果是Account Operators,但是结果是FULL再麻烦指点一下该怎么写?谢谢!
      

  3.   

    这有一个例子,仅供参考
    源串:{"internal_1": [{"version": 4,"addr": "192.160.1.11"}]}      用正则表达式获得{"version": 4,"addr": "192.160.1.11"}这个串,public static void main(String[]agrs){
    String s = "{\"internal_1\": [{\"version\": 4,\"addr\": \"192.160.1.11\"}]}";
    String regex = ".+?\\[(.+?)\\].+?";
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(s);
    if (matcher.matches()) {
    String group = matcher.group(1);
    System.out.println(group);
    }else {
    System.out.println("no matches!!");
    }
    }正则表达式:.+?\\[(.+?)\\].+?
    结果:{"version": 4,"addr": "192.160.1.11"}