Tengo una expresión regular que quiero anular, p. Ej.cómo negar cualquier expresión regular en Java
/(.{0,4})
que devuelve la siguiente String.matches
"/1234" true
"/12" true
"/" true
"" false
"1234" false
"/12345" false
¿Hay una manera de negar (usando regx solamente) a la anterior para que los resultados son los siguientes:
"/1234" false
"/12" false
"/" false
"" true
"1234" true
"/12345" true
I' Estoy buscando una solución general que funcione para cualquier regx sin volver a escribir toda la expresión regular.
He observado el siguiente How to negate the whole regex? usando (?! Patrón), pero eso no parece funcionar para mí.
La siguiente regx
(?!/(.{0,4}))
devuelve lo siguiente:
"/1234" false
"/12" false
"/" false
"" true
"1234" false
"/12345" false
que no es lo que quiero. Cualquier ayuda sería apreciada.
¿No podría coincidir y negar si coincide o no? Esa es la solución de uso general para cualquier expresión regular sin reescribir la expresión regular. –
Esta codificación coincidente es parte de un marco existente que no se puede cambiar sin romper otras cosas. – Wayne