Wie kann man in Notepad++ eine Regex-Übereinstimmung über mehrere Zeilen hinweg erreichen?

Wie kann man in Notepad++ eine Regex-Übereinstimmung über mehrere Zeilen hinweg erreichen?

Ich habe eine JavaScript-Datei mit Millionen von Zeilen. Das Problem ist, dass der IE kein ,(Komma) gefolgt von }(geschweifter schließender Klammer) unterstützt.

In Notepad++ kann ich alle Kommas finden, auf die eine geschweifte schließende Klammer folgt, indem ich diesen regulären Ausdruck verwende: \,.*\}.

Wenn sich das Komma und die geschweifte schließende Klammer jedoch nicht in derselben Zeile befinden, stimmt der reguläre Ausdruck nicht damit überein:

somestring,

    }

Antwort1

Alles was Sie tun müssen, ist . matches newlineim Such-/Ersetzungsmodus von Notepad++ Folgendes zu überprüfen:

Bildbeschreibung hier eingeben

Dadurch wird der Punkt .in Ihrem regulären Ausdruck mit einer Zeilenumbruchübereinstimmung und somit mit .*einer beliebigen Anzahl von Zeilenumbrüchen übereinstimmen.

Antwort2

Das Problem liegt in der Notepad-Version. Auf Notepad++ v6.1.8 aktualisiert und dieser reguläre Ausdruck funktionierte\,[\r\n\s]*\}

Antwort3

Ich hatte ein ähnliches Problem. Ich habe es mit Folgendem getestet und es hat funktioniert:

ERSETZEN -,\r\n\r\n\s+}
MIT - ‹leer›

NOTIZ:Auf meiner Registerkarte „Ersetzen“ habe ich „Umbrechen“ aktiviert, den Suchmodus auf „Regulärer Ausdruck“ eingestellt und ich verwende Notepad++ v6.4.3.

verwandte Informationen