Ich habe dieses PowerShell-Skript, das hauptsächlich dazu dient, HTML-Dateien innerhalb eines Ordners zu durchsuchen, ein bestimmtes HTML-Markup zu finden und durch das zu ersetzen, was ich ihm sage.
Ich konnte 3/4 meines Funds machen und ersetze perfekt. Der, mit dem ich Probleme habe, beinhaltet einen Regulären Ausdruck.
Dies ist das Markup, das ich versuchen möchte, meine Regex zu finden und zu ersetzen:
%Vor%Hier ist der Regex, den ich bis jetzt habe, zusammen mit der Funktion, in der ich ihn verwende:
%Vor%Und hier ist die automatische Funktion:
%Vor%Ich habe seit etwa zwei Tagen versucht, die Lösung dafür zu finden und kann es einfach nicht funktionieren lassen. Ich habe festgestellt, dass das Problem ist, dass ich meine Regex für Multiline, und das ist, was ich mit Schwierigkeiten haben muss sagen.
Jede Hilfe, die jemand zur Verfügung stellen kann, ist sehr zu schätzen.
Vielen Dank im Voraus.
Get-Content
erzeugt ein Array von Zeichenketten, wobei jede Zeichenkette eine einzelne Zeile aus Ihrer Eingabedatei enthält, so dass Sie keine Textpassagen mehr als eine Zeile abgleichen können. Sie müssen das Array in eine einzelne Zeichenfolge zusammenführen, wenn Sie mehr als eine Zeile zuordnen möchten:
oder
%Vor%oder
%Vor% Beachten Sie, dass die Methode 1 st und 2 nd keine Zeilenumbrüche aus der Eingabedatei erhalten. Methode 2 zerlegt einfach alle Zeilenumbrüche, wie Keith in den Kommentaren darauf hingewiesen hat, und Methode 1 setzt <CR><LF>
am Ende jeder Zeile, wenn sie dem Array beitritt. Letzteres kann beim Umgang mit Linux / Unix- oder Mac-Dateien problematisch sein.
Tags und Links regex powershell