Regex для возврата нескольких строк между двумя СЛОВАМИ - Powershell

Regex для возврата нескольких строк между двумя СЛОВАМИ - Powershell

Я пытаюсь использовать следующее регулярное выражение:

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

чтобы получить многострочные ставки

----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

Но select-string ничего не возвращает.

я использовалhttps://regex101.com/иhttps://www.regexpal.com/и Regex работает так, как и ожидалось.

не могли бы вы помочь?

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

введите описание изображения здесь

решение1

Наконец я нашел проблему:

1- Используйте get-Content -Raw для работы \n // Я не уверен, почему

2- Изменил регулярное выражение на

"(?<=----Старый-------)((.+\n)+)(?=______________________________________)"

Связанный контент