Here is a workaround. It's ugly but apparently it works:
(?<!(?=\1).)([^raol1c])\1(?!\1)
Putting the backreference into a zero-length lookahead inside the lookbehind makes the lookbehind certainly of fixed length.
Disclaimer, I did not come up with this (unfortunately): Backreferences in lookbehind
EDIT:
The above pattern does not rule out hhh
for some reason. However, this works:
(?<!(.)(?=\1))([^raol1c])\2(?!\2)
If we create the first group inside the lookbehind then we can use this to ensure that the first character after the lookbehind is not the same as the one before it.