2013-05-15 12 views
5

chcę użyć wyrażenia regularnego, aby podświetlić funkcje nowego języka programowania, ale mam problem z wyłączeniem funkcji, które mają słowo „eksportowany” więcRegex dopasować linię bez określonego słowa

ok wiersze muszę dopasować przykłady:

routine hello 
ROUTINE hello 
    routine hello 
    ROUTINE hello(a:INTEGER) 
    routine hello (a : INTEGER) 
    routine hello (a : INTEGER , b: STRING) 

linie, które nie chcą, aby dopasować przykłady:

routine hello (a : INTEGER , b: STRING) exported 

Próbowałem z

ale to nie działa.

Odpowiedz

1

Można użyć wyrażenia tak, aby dopasować wszystkie linie, które nie zawierają słowo „eksportowane”:

(?m)^(?!.*\bexported\b).*$ 
+0

postaram , ale ważne jest to, że jest to "rutyna", jakie są parametry (jeśli są w nawiasach), a ja umieszczę je w wynikach, więc będę miał moją "(nie wyeksportowaną) listę funkcji" – Dedanan

7

Poniższe wyrażenie ma również trick:

^(?!.*exported).*$ 

|________________ line begin 
|_______________ negative lookahead 
    |____________ any characters 
     |__________ your exclusion word 
       |_ any characters 
       |_ end of line 
Powiązane problemy