2011-02-17 5 views
5

Zasadniczo potrzebuję wyrażeń regularnych, które zwrócą wartość true, jeśli ciąg jest słowem (\ w +) Z WYJĄTKIEM, jeśli jest to słowo wyraz1 LUB słowo2.Potrzebuję znaleźć wyrażenie regularne dla dowolnego słowa oprócz word1 lub word2

Próbowałem wielu rzeczy, ale nie sądzę, że jestem nawet blisko. Wsparcie!

+0

możliwe duplikat [Regex dopasować wszystkie słowa z wyłączeniem danej listy] (http://stackoverflow.com/questions/242698/regex-to-match-all-words -except-a-given-list) –

Odpowiedz

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

powinien robić to, co trzeba.

(?!...) to negative lookahead assertion, który zapewnia, że ​​nie jest możliwe dopasowanie załączonego wyrażenia w bieżącej pozycji.

+0

Fantastyczne, właśnie tego potrzebowałem! – EdanB

-4

Dlaczego chcesz używać do tego wyrażeń regularnych?

Pseudo-kod:

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

Ponieważ używam frameworka PHP, który wymaga wyrażenia regularnego do zdefiniowania adresu URL. W każdym razie nie mogę używać kodu, tylko wyrażenie regularne. – EdanB

Powiązane problemy