我知道Java中的lookbehinds不能使用*和+重复。我已经使用大括号来定义重复模式的最大长度,但它仍然会抛出以下异常:
Exception in thread "main" java.util.regex.PatternSyntaxException:
Look-behind group does not have an obvious maximum length near index 33
(?<!([A-Z]{0,100}\W{0,100}){0,100})[A-Z]{2,}(?!([A-Z]+\W+)+)
答案 0 :(得分:0)
您仍在使用lookbehind中的可变长度匹配,因此它无效。正如您所写,[A-Z]{0,100}
将匹配0到100个字符,这与使用[A-Z]*
实际上相同,并且匹配字符的上限。