2011-02-17 12 views
5

Básicamente necesito una expresión regular que devolverá verdadero si la cadena es una palabra (\ w +) EXCEPTO si es la palabra word1 O word2.Necesito encontrar una expresión regular para cualquier palabra excepto word1 o word2

He intentado muchas cosas pero no creo que esté ni siquiera cerca. ¡Ayuda!

+0

posible duplicado de [expresiones regulares para que coincida con todas las palabras excepto una lista dada] (http://stackoverflow.com/questions/242698/regex-to-match-all-words -except-a-given-list) –

Respuesta

15
^(?!(?:word1|word2)$)\w+$ 

debe hacer lo que necesita.

(?!...) es un negative lookahead assertion que asegura que no es posible hacer coincidir la expresión adjunta en la posición actual.

+0

¡Fantástico, justo lo que necesitaba! – EdanB

-4

¿Por qué querrías usar expresiones regulares para eso?

Pseudo-código:

return (str != word1 AND str != word2) 
+0

Porque estoy usando un marco PHP que exige una expresión regular para definir la URL. En cualquier caso, no puedo usar código, solo una expresión regular. – EdanB

1

Ahí está:

^(?!word1|word2)\w* 
Cuestiones relacionadas