今天在写正则的时候发现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}")[^>]*>异常