import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author lingchen
*
*/
public class RegExpTest2 {
/**
* @param args
*/
public static void main(String[] args) {
String str = "<div>zhangsan</div>";
Pattern p = Pattern.compile("(?<=<(\\w+)>)(.*)(?=</\\1>)");
Matcher m = p.matcher(str);
while (m.find()) {
System.out.println(m.group());
}
}
}
Exception in thread "main" java.util.regex.PatternSyntaxException: Look-behind group does not have an obvious maximum length near index 10
(?<=<(\w+)>)(.*)(?=</\1>)
^
at java.util.regex.Pattern.error(Pattern.java:1924)
at java.util.regex.Pattern.group0(Pattern.java:2812)
at java.util.regex.Pattern.sequence(Pattern.java:2018)
at java.util.regex.Pattern.expr(Pattern.java:1964)
at java.util.regex.Pattern.compile(Pattern.java:1665)
at java.util.regex.Pattern.<init>(Pattern.java:1337)
at java.util.regex.Pattern.compile(Pattern.java:1022)
at com.comtop.regexp.RegExpTest2.main(RegExpTest2.java:20)