首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

regex.PatternSyntaxException: Look-behind group does not have an obvious maximum

2011-12-26 
regex.PatternSyntaxException: Look-behind group does not have an obvious maximumJava codeString str

regex.PatternSyntaxException: Look-behind group does not have an obvious maximum

Java code
String str = "abc,afda,fdadfae,fdaee,fdafda,efdaf";Matcher m = Pattern.compile("(?<=^(?:[^,]+,){5})[^,]+(?=\\b|,)").matcher(str);if(m.find()){    System.out.println(m.group(0));}


抛出异常
Java code
Exception in thread "main" java.util.regex.PatternSyntaxException: Look-behind group does not have an obvious maximum length near index 17(?<=^(?:[^,]+,){5})[^,]+(?=\b|,)                 ^    at java.util.regex.Pattern.error(Pattern.java:1713)    at java.util.regex.Pattern.group0(Pattern.java:2488)    at java.util.regex.Pattern.sequence(Pattern.java:1806)    at java.util.regex.Pattern.expr(Pattern.java:1752)    at java.util.regex.Pattern.compile(Pattern.java:1460)    at java.util.regex.Pattern.<init>(Pattern.java:1133)    at java.util.regex.Pattern.compile(Pattern.java:823)    at com.rmouse.TestMagicCard.main(TestMagicCard.java:37)


该怎样修改正则式呢?

[解决办法]
^([^,]+,){5}(?<=[^,]+,)[^,]+(?=\b|,)
结果为匹配整个字符串
[解决办法]
你想要匹配什么?
[解决办法]
找个正则表达式的验证工具,先验证一下

百度一下,网上有的

祝楼主好运
[解决办法]
这个正则挺难的,换一个试试,是表达式里面的东西有问题

热点排行