Tengo una expresión regular de la siguiente manera:
^/[a-z0-9]+$
Esto coincide con cadenas como /hello
o /hello123
.
Sin embargo, me gustaría excluir un par de valores de cadena como /ignoreme
y /ignoreme2
.
¡He probado algunas variantes pero parece que no funciona!
Mi último intento débil fue
^/(((?!ignoreme)|(?!ignoreme2))[a-z0-9])+$
Cualquier ayuda seria gratamente apreciada :-)
Respuestas:
Aquí hay otra forma (usando una perspectiva negativa ):
Nota: Sólo hay una expresión de captura:
([a-z0-9]+)
.fuente
(\?(.+))?$
debe ser rápido. No me preocuparía demasiado por la velocidad.java.util.regex.Pattern
clase de Java .Esto debería hacerlo:
Puede agregar tantas palabras ignoradas como desee, aquí hay una implementación simple de PHP:
fuente
Como desea excluir ambas palabras, necesita una conjunción:
Ahora ambas condiciones deben ser verdaderas (no se permite ignoreme ni ignoreme2 ) para tener una coincidencia.
fuente
/ignoremenot
que/
sigueignoreme
.