Alle Übereinstimmungen mit regulären Ausdrücken in Textpad oder Notepad++ als Liste exportieren

Alle Übereinstimmungen mit regulären Ausdrücken in Textpad oder Notepad++ als Liste exportieren

Gibt es in Textpad oder Notepad++ eine Option zum Exportieren aller Übereinstimmungen für eine Suche mit regulären Ausdrücken als einzelne Liste?

Ich suche in einer großen Textdatei mithilfe regulärer Ausdrücke nach Tags (in % % eingeschlossene Wörter) %\< and \>%und möchte alle Übereinstimmungen in einer einzigen Liste haben, damit ich Duplikate mit Excel entfernen und eine Liste mit eindeutigen Tags erhalten kann.

Antwort1

Dies erreichen Sie durch die VerwendungRückverweiseund die Such- und Markierungsfunktion in Notepad++.

  1. Suchen Sie die Übereinstimmungen mithilfe von regulären Ausdrücken (sagen wir %(.*?)%) und ersetzen Sie diese durch \n%\1%\n. Danach haben wir unser Zielwort in separaten Zeilen (d. h. keine Zeile enthält mehr als ein übereinstimmendes Wort).

  2. Verwenden Sie die Funktion Suchen-->Finden-->Markieren, um jede Zeile mit einem regulären Ausdruck zu markieren %(.*?)%, und denken Sie daran, „Lesezeichenzeile' vor dem Markieren des Textes

  3. Wählen Sie Suchen-->Lesezeichen-->Nicht markierte Zeilen entfernen
  4. Speichern Sie den restlichen Text. Dies ist die erforderliche Liste.

Antwort2

Macht dasInIst Notepad++ eine zwingende Voraussetzung? Arbeiten Sie mit Windows oder einer anderen Unix-Variante? Wenn Sie mit Windows arbeiten, können Sie dies (teilweise) über die Eingabeaufforderung tun:

findstr /r "%[az].*[az]% %[az]%"deine Datei>neue Datei

findstrist vage inspiriert von grep, also dieseneue Datei enthält alleLiniendie Ihren Suchkriterien entsprechen; Sie können dann Notepad++ verwenden, um den unerwünschten Text zu entfernen (links vom ersten % und rechts vom zweiten).


Und wenn Sie Unix verwenden, können Sie die entsprechende Aufgabe natürlich mit erledigen sed. Und wenn Sie GNU haben grep(d. h. wenn Sie Linux verwenden), können Sie es mit erledigen grep -o.

Antwort3

Es gibt ein Notepad++-Plugin, das übereinstimmende Regex-Ausdrücke in eine neue Datei in einem neuen Tab kopieren kann. RegexExtrakt

Da ich kein Plugin für Notepad++ gefunden habe, das Text aus dem aktuellen Dokument oder alle Dateien eines Speicherorts mit zusätzlichen Einstellungen (wie Groß-/Kleinschreibung) extrahieren kann, habe ich versucht, es selbst zu erstellen. (...) Die Schnittstelle des Plugins ist ziemlich unkompliziert (...). (...) Die Felder „Suchen“, „Ersetzen“ und „Maskieren“ verwenden die C++11-Regex-Syntax. Das Extrahieren aus Dateien funktioniert derzeit nur für Dateien in UTF8.

Bearbeiten Auf die Frage abgestimmte Dialogeingaben

Bildbeschreibung hier eingeben

Im Bild sehen Sie, wie der Dialog auszufüllen ist. Ich gehe davon aus, dass ein Wort keine Leerzeichen usw. enthält, sondern nur Zeichen, die mit \w übereinstimmen. Insbesondere:

  • Verwenden Sie ein Klammernpaar, um die Auswahl des Wortes ohne Prozentzeichen zu ermöglichen.
  • Option wählenExtrahieren mit Ersetzen, um die erste Übereinstimmung auszuwählen. Andernfalls erhalten Sie eine spaltenweise Ausgabe aller $1, $2 usw.
  • Überprüfen$& überspringen ...die kompletten Spiele wegzulassen.
  • ÜberprüfenFilter einzigartigjedes Spiel nur einmal zu melden.
  • KlickenExtrakt, um Ergebnisse abzurufen. (Suchenfindet nur die Übereinstimmungen, meldet aber nicht).

Antwort4

Wenn jemand stattdessen an einer Online-Lösung interessiert ist (da das Notepad++-Plugin unter 64-Bit nicht funktioniert), können Sie versuchenMolbiotoolsEs kann Ihren regulären Ausdruck vollständig ohne oder mit zusätzlichen Zeilen extrahieren.

verwandte Informationen