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}")[^>]*>異常

相關文章
相關標籤/搜索