I get this error:
java.util.regex.PatternSyntaxException: Look-behind group does not have an
obvious maximum length near index 22
([a-z])(?!.*\1)(?<!\1.+)([a-z])(?!.*\2)(?<!\2.+)(.)(\3)(.)(\5)
^
I’m trying to match COFFEE, but not BOBBEE.
I’m using java 1.6.
Java doesn’t support variable length in look behind.
In this case, it seems you can easily ignore it (assuming your entire input is one word):
Both lookbehinds do not add anything: the first asserts at least two characters where you only had one, and the second checks the second character is different from the first, which was already covered by
(?!.*\1).Working example: http://regexr.com?2up96