您的位置:首页 > 编程语言 > Java开发

java正则断言使用需添加最大值

2014-03-14 14:36 323 查看
(?<=ROWS 参数所用的值.+?\n).+(?=表 DT_\w+:)

以上这条正则在RegEx Tester 工具里面测试是正确的.

String regexStr= "(?<=ROWS 参数所用的值.+?\\n).+(?=表 DT_\\w+:)";

放到java里面执行时则会出现异常:

Exception in thread "main" java.util.regex.PatternSyntaxException: Look-behind group does not have an obvious maximum length near index 19

(?<=ROWS 参数所用的值.+?\n).+(?=表 DT_\w+:)

                   ^

现将语句修改为 String regexStr= "(?<=ROWS 参数所用的值.{1,65536}?\\n).+(?=表 DT_\\w+:)";

当然那个65536没事没改那么大就是了,这个该大了效率变低了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 正则 断言 regex 异常