El requisito es: el campo está formado por caracteres alfabéticos y números, no permitimos que el mismo carácter se repita más de 3 veces seguidas
Regex: ^([0-9A-Z])(?!\\1+$)[0-9A-Z]$
la regla anterior valida y no permite si se repite el mismo carácter, pero necesitamos validar solo más de 3 veces repetidas continuamente
ex: 1AAA23 -- Allowed 2AAAA34 -- Not Allowed as 'A' repeated more tha 3 times 22A22B5 -- Allowed A222256 -- Not allowed as '2' repeated more than 3 times VN00000 -- Not allowed 111123 -- Not allowed 1111AA -- Not allowed 111AAA -- Allowed
El patrón que probaste solo coincide con 2 caracteres en total, y esos caracteres no pueden ser iguales.
Puedes escribir el patrón como:
^(?!.*([A-Z0-9])\1{3})[A-Z0-9]+$
^
Comienzo de cadena(?!
Anticipación negativa, afirmar que a la derecha no está.*([A-Z0-9])\1{3}
Opcionalmente haga coincidir cualquier carácter y luego capture 1 o los caracteres A-Z0-9 en el grupo 1 seguido de hacer coincidir ese mismo carácter 3 veces)
Anticipación cercana[A-Z0-9]+
Match 1+ repeticiones de caracteres A-Z0-9$
Fin de la cadena