//需求,截取打印出所有<record></record>间的内容
//难点在于record之前还有类似<></>标记
//本例我想要的结果是输出:<record>123<a>demo</a><name>tom</name></record>
<record>456</record>
public static void main(String[] args) {String str="a<record>123<a>demo</a><name>tom</name></record>yyyy<record>456</record>78";
Pattern pattern = Pattern.compile("<RECORD>[\\w]*</RECORD>",Pattern.CASE_INSENSITIVE);
Matcher matcher = (Matcher) pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.group(0));
  }
}

解决方案 »

  1.   


    String str = "a<record>123<a>demo</a><name>tom</name></record>yyyy<record>456</record>78";
    Pattern pattern = Pattern.compile("<RECORD>.*?</RECORD>",
    Pattern.CASE_INSENSITIVE);
    Matcher matcher = (Matcher) pattern.matcher(str);
    while (matcher.find()) {
    System.out.println(matcher.group(0));
    }
      

  2.   

    String str = "a<record>123<a>demo</a><name>tom</name></record>yyyy<record>456</record>78";
            Pattern pattern = Pattern.compile("<RECORD>.*?</RECORD>",
                    Pattern.CASE_INSENSITIVE);
            Matcher matcher = (Matcher) pattern.matcher(str);
            while (matcher.find()) {
                System.out.println(matcher.group(0));
            }接分