Regex zum Zurückgeben mehrerer Zeilen zwischen zwei WÖRTERN - Powershell

Regex zum Zurückgeben mehrerer Zeilen zwischen zwei WÖRTERN - Powershell

Ich versuche, den folgenden regulären Ausdruck zu verwenden:

(?<=----Old-------\n)(((.+\n)+)\n*?)(?=__________________________________________)

um mehrere Zeilen zwischen Wörtern zu erhalten

----Old-------
250096 - LT Security Role: Read Only, 250032 - Sales VIC3, 250083 -
Security Role: Base Security Role, 250080 - Security Role: Payment
Allocation, 250058 - Security Role: TFM Sales Consultant, 250103 - Web
Fleet SuperUser

Aber die Auswahlzeichenfolge gibt nichts zurück.

ich benutztehttps://regex101.com/Undhttps://www.regexpal.com/und der reguläre Ausdruck funktioniert wie erwartet.

Kannst du bitte helfen.

$ModifyOldRegex = "(?<=----Old-------\n)(((.+\n)+)\n*?)(?=__________________________________________)"    
$Description | Select-String  -Pattern $ModifyOldRegex.matches.Value

Bildbeschreibung hier eingeben

Antwort1

Endlich habe ich das Problem gefunden:

1- Verwenden Sie get-Content -Raw, damit \n funktioniert // Ich bin nicht sicher, warum

2- Der reguläre Ausdruck wurde geändert in

"(?<=----Alt-------)((.+\n)+)(?=__________________________________________)"

verwandte Informationen