vacio texto regulares regular personas para nombres negacion expresiones expresion concatenar buscar alfanumerico regex

regex - texto - Una expresión regular para excluir una palabra/cadena



expresiones regulares para buscar texto (3)

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 puedo hacer que ninguna funcione!

Mi último intento débil fue

^/(((?!ignoreme)|(?!ignoreme2))[a-z0-9])+$

Cualquier ayuda seria gratamente apreciada :-)


Aquí hay otra manera: (usando una mirada negativa hacia adelante ):

^/(?!ignoreme|ignoreme2|ignoremeN)([a-z0-9]+)$

Nota: Solo hay una expresión de captura: ([a-z0-9]+) .


Como quiere excluir ambas palabras, necesita una conjunción:

^/(?!ignoreme$)(?!ignoreme2$)[a-z0-9]+$

Ahora ambas condiciones deben ser verdaderas (ni ignoreme ni ignoreme2 están permitidas) para tener una coincidencia.


Esto debería hacerlo:

^//b([a-z0-9]+)/b(?<!ignoreme|ignoreme2|ignoreme3)

Puedes agregar tantas palabras ignoradas como desees, aquí hay una implementación simple de PHP:

$ignoredWords = array(''ignoreme'', ''ignoreme2'', ''ignoreme...''); preg_match(''~^//b([a-z0-9]+)/b(?<!'' . implode(''|'', array_map(''preg_quote'', $ignoredWords)) . '')~i'', $string);