2013-06-03 17 views
9

enthält, Ich versuche, die Linien entsprechen in den folgenden nicht-Eingang nicht mit "VelSign" (Notepad ++):Passende eine Linie kein Wort in Notepad ++

#MARKER VelSign 457,45 50 kmh

# MARKER IsBridge wahr

#MARKER TrafficSign 45

#MARKER Traffic 45 445 444 40

ich folgende regex bin mit: ^#MARKER (?!.*VelSign).*$

nicht zu funktionieren scheinen. Was mache ich falsch?

+0

Nachdem Sie nun den umgekehrten Schrägstrich herausgeschnitten haben, funktioniert dieses Muster für mich völlig in Ordnung. –

+0

Haben Sie versucht, "Alle im aktuellen Dokument suchen" zu verwenden? – Jerry

+0

Mögliches Duplikat von [Notepad ++ Inverse Regex ersetzen (alle außer String)] (http://stackoverflow.com/questions/8264391/notepad-inverse-regex-replace-all-but-string) –

Antwort

8

Make sure that you upgrade Notepad++ to version 6, da sie ziemlich viel in der Regex-Engine geändert haben. Vor allem Zeilenumbrüche und Lookarounds waren in früheren Versionen etwas problematisch.

+0

Entschuldigung wegen des Tippfehlers. Mein Regex ist:^# MARKER (?!. * VelSign). * $ –

+0

@MihaiGALOS, das für mich funktioniert. Was passt zu dir? (oder was stimmt nicht überein) –

+0

Danke für die schnelle Rückmeldung. Notepad ++ sagt: Kann den Text "^ # MARKER (?!. * VelSign) nicht finden. * $" –

8

Schalten Sie dies:

^#MARKER (?!.\*VelSign).*$ 

In diese:

^#MARKER (?!.*VelSign).*$ 

Sie sind auf der Flucht den * Operator, der das Spiel von einer wörtlichen * anstelle von 0 oder mehr . verursacht.

Stellen Sie außerdem sicher, dass Sie die RegulaererAusdruck Option aktiviert haben (siehe das dritte Optionsfeld):

enter image description here

+0

@MihaiGALOS Haben Sie versucht, "Alle im aktuellen Dokument suchen" zu verwenden? – Jerry

+0

Die Regex war in Ordnung. Ich habe ein Upgrade auf 5.9.2 durchgeführt, bevor ich gefragt habe, es scheint, dass v6 es gefunden hat ... :) Danke. –

Verwandte Themen