CRLF является двумя символами, конечно, CR и LF. Однако `n
состоит из обоих. Например:
PS C:\> $x = "Hello
>> World"
PS C:\> $x
Hello
World
PS C:\> $x.contains("`n")
True
PS C:\> $x.contains("`r")
False
PS C:\> $x.replace("o`nW","o There`nThe W")
Hello There
The World
PS C:\>
я думаю, что Вы сталкиваетесь с проблемами с `r
. Я смог удалить `r
из Вашего примера, использовать [только 114], и он работал. Конечно, я не знаю точно, как Вы генерировали исходную строку, таким образом, я не знаю то, что там.
В моем понимании Получать-содержание устраняет ВСЕ новые строки/возвраты каретки, когда это прокручивает Ваш текстовый файл через конвейер. Чтобы сделать мультилинию regexes, необходимо повторно объединить массив строк в одну гигантскую строку. Я делаю что-то как:
$text = [string]::Join("`n", (Get-Content test.txt))
[regex]::Replace($text, "t`n", "ting`na ", "Singleline")
Разъяснение: маленькие файлы только люди! Не примеряйте это Ваш 40 файл журнала ГБ:)