Regulärer Ausdruck für ALLES in Notepad++

Mr. Brooks

Lt. Commander
Registriert
Aug. 2011
Beiträge
1.441
Hallo,

ich habe hier eine sehr große XML-Datei aus der ich einzelne Tags herauslöschen will. Der Inhalt der Tags variiert stark. Vieles war einfach mit z. B.

Code:
\s{9}<votes>[0-9]+</votes>

zu löschen. Einige Sachen enthalten aber auch Leerzeichen und Sonderzeichen (z. B. in Internet-URLs). Ich finde aber keinen Regex-Ausdruck der für alles steht. Angeblich soll der Punkt sowas sein, mit [.] geht es aber nicht - zumindest in Notepad++ nicht.

Weiß einer wie man das am besten macht? Ich will einfach nur alle möglichen Zeichen zwischen 2 Tags auswählen und löschen (in Notepad++ durch nichts ersetzen)

Mr. Brooks
 
Wenn du nur einen Punkt machst, dann wird auch nur ein beliebiges Zeichen gelöscht. Also wie andy_m4:
Code:
.+
-> mind. ein Zeichen oder mehr wird erkannt. Beim Programmieren hätte ich
Code:
.*
genommen, falls gar nichts zwischen den Knoten steht.
 
Blöd, jetzt sucht er natürlich wirklich ALLES. Er findet jetzt also alles zwischen dem ersten Tag <votes> und dem letzten </votes> irgendwo nach einigen Tausend Zeilen. Hab ich so natürlich nicht bedacht.
 
Dafür gibt es den sogenannten "lazy quantifier", also das Fragezeichen. Wenn du statt .* nun .*? verwendest, sollte bis zum ersten Vorkommen von </votes> alles gefunden werden.
 
Mit \w bekomme ich alle Buchstaben und Zahlen hin, nicht aber das Leerzeichen.
Ergänzung ()

dreamy_betty schrieb:
Dafür gibt es den sogenannten "lazy quantifier", also das Fragezeichen. Wenn du statt .* nun .*? verwendest, sollte bis zum ersten Vorkommen von </votes> alles gefunden werden.

So scheint es zu gehen. Thx.
 
Zurück
Oben