Regex | Cómo excluir patrones específicos de caracteres.
En la pregunta, necesito una expresión regular que acepte todo excepto patrones de cadenas específicos. He intentado usar ejemplos de negative lookahead del foro de preguntas de Stackoverflow:
https://stackoverflow.com/questions/1687620/regex-match-everything-but-specific-pattern
Pero parece que los patrones de palabras son diferentes a los patrones de caracteres.
Los patrones que necesito excluir están enumerados a continuación:
davy.ai
Para excluir patrones específicos de cadenas, puede utilizar una mirada negativa hacia adelante en su expresión regular. Sin embargo, en este caso, los patrones a excluir son en realidad patrones de caracteres. Por lo tanto, puede utilizar una clase de caracteres para hacer coincidir cualquier carácter excepto aquellos en los patrones específicos.
Aquí hay un ejemplo de regex que coincidirá con todo excepto con los patrones específicos de caracteres mostrados en la imagen:
En este regex, la parte
(?:(?!ab|cd|ef).)*
hace coincidir cualquier carácter (.
) cero o más veces (*
), siempre y cuando no esté seguido inmediatamente por los patrones específicosab
,cd
oef
(utilizando una mirada negativa hacia adelante(?!...)
).Los anclajes
^
y$
aseguran que el regex haga coincidir toda la cadena en lugar de sólo una parte de ella.Puede personalizar los patrones específicos en la mirada negativa hacia adelante reemplazando
ab|cd|ef
con los patrones deseados a excluir.