Reguläre Ausdrücke
Gästin
- regex
Hallo,
wie kann ich ermitteln ob eine Zeichenfolge <xyz> in einem Dokument nicht vorkommt?
Hi,
wie kann ich ermitteln ob eine Zeichenfolge <xyz> in einem Dokument nicht vorkommt?
Such danach. Wenn Du keinen Treffer erzielst, kommt's nicht vor.
Wenn die Zeichenfolge fix ist, braucht's noch nicht mal einen Regex dazu.
cu,
Andreas a/k/a MudGuard
Habe mich unklar ausgedrückt. Ich suche mit textcrawler nach Dateien, in denen der Text nicht vorhanden ist. Ich finde die Dateien, in denen der Text vorhanden ist, bei der Menge der Dateien ist es aber schwierig die andern zu finden.
Hallo Gästin,
nimm ein anderes Tool. Textcrawler scheint mir nach kurzem Überfliegen des Handbuchs für den Zweck nicht geeignet. Es ist ein Search & Replace Tool, kein Tool zum Dateien suchen.
Ich hatte bisher noch nie den Bedarf, in einer Menge von Dateien diejenigen zu suchen, in denen eine Regex nirgends einen Treffer hatte. Wenn ich das jetzt machen müsste, würde ich mir ein Batchfile schreiben, das die Dateien durchgeht, pro Datei einen grep macht und die Dateien ausgibt, für die der ERRORLEVEL nicht 0 ist...
Unter Windows wär das eine FOR Schleife, unter Linux eine... äh, keine Ahnung, Linux ist für mich Ausland.
Rolf
Tja, wenn man programmieren könnte oder die Windows Kommandosprache beherrschen würde. Der Textcrawler kann reguläre Ausdrücke. Die Frage ist also doch nur: Gibt es einen regulären Ausdruck der nicht sagt Text "ist vorhanden" sondern "text ist nicht vorhanden".
Hallo Gästin,
ich würde das vermutlich mit einem negativen Lookahead machen.
^(?!.*xyz).*$
matcht alle Zeilen, auf die das Muster .*xyz nicht passt.
Ob das im Textcrawler so funktioniert, musst Du herausfinden.
Aber ich gehe davon aus, dass der Textcrawler zeilenorientiert arbeitet und Dir dann alle Zeilen auswirft, die nicht auf die Regex passen.
Mein Verständnis war, dass Du Dateien suchst, wo die Regex nirgends gefunden wird.
Rolf
Hallo Rolf,
das funktioniert optimal!
Danke