You cannot have a backreference as a quantifier. (Not that you have a capture group to reference to). If you want to do something like that, you may want to try:
The code looks interesting. I suppose it's either this or what I posted earlier. I wonder if using (??{...}) hurts readability, though mine isn't much better I suppose.