Java正则零宽断言出现PatternSyntaxException异常

今天在写正则的时候发现Java正则使用零宽断言(?<!exp) 匹配前面不是exp的位置,报出了一个异常:java

Exception in thread "main" java.util.regex.PatternSyntaxException: Look-behind group does not have an obvious maximum length near index 26正则表达式

(?<=<img[^>]*src="[^"]*")[^>]*>spa

                          ^io

具体大概是讲没有一个明显的最大长度,后来查了下资料才发现,Java正则 <=断言的限制, 须要有最大值,因此只要改一下正则表达式*通配符有个最大值就能够了。thread

原:(?<=<img[^>]*src="[^"]*")[^>]*>im

改:(?<=<img[^>]{0,500}src="[^"]{0,500}")[^>]*>异常

相关文章
相关标签/搜索