tengo la siguiente expresion regular
^[2-9][0-9]{3}-W([0-5][0-3]|(?!00))https://regex101.com/r/OOCxzT/1
Necesito excluir de la coincidencia una cadena con dos 00 consecutivos, por ejemplo
2022-W00
Agregué (?!00) pero parece que no funciona correctamente.
¿Alguna idea de cómo arreglarlo?
Usando la búsqueda anticipada negativa en la alternancia ([0-5][0-3]|(?!00)) esta parte (?!00) será verdadera (dándole una coincidencia parcial) si la primera alternativa no coincide, y desde la posición actual lo que está directamente a la derecha no es 00
La búsqueda anticipada debe estar justo antes de la segunda coincidencia de los dígitos.
^[2-9][0-9]{3}-W(?!00)([0-5][0-3])Demostración de expresiones regulares
Si solo desea hacer coincidir 2 dígitos, también puede agregar un ancla $
^[2-9][0-9]{3}-W(?!00)([0-5][0-3])$Esto es lo que necesitas ? o más dígitos después de 'W'?
^[2-9][0-9]{3}-W([0-5][1-3]|[1-5][0-3])