У меня есть некоторые данные, которые выглядят так:Matching новой строки в регулярном выражении с помощью PowerShell
:setvar DatabaseName "CI_1814903104"
:setvar DefaultFilePrefix "CI_1814903104"
--etc.
GO
Я хочу, чтобы заменить все SQL CMD переменных строк (строки, начинающиеся с: SetVar) с пустой строкой такой, что данные выглядят следующим образом:
--etc.
GO
Это утверждение (где $script
содержит данные), кажется, сделать трюк, но по-прежнему оставляет новые строки:
$script -replace ":setvar(.*$)", ""
приводит:
--etc.
GO
Как включить символ перевода строки в матче? Кажется, это соответствует, но фактически не заменяется. Любая помощь оценивается.
Спасибо за чтение между строками - это был gc как массив, который меня заворачивал. Постскриптум Измените '' r''n на \ r \ n, и вы получите очки! – Plymouth223
@ Plymouth223 Эскизный персонаж в Powershell - это обратная сторона. Для этого случая работы с регулярным выражением либо работает, но это обычно не так. Попробуй. :) –
А, получилось - моя проблема была в том, что я попробовал ваш, и это не сработало, поэтому я изменил выражение на «: setvar (. *) \ N», и это произошло. Файл содержит только \ n для новых строк. Благодарю. – Plymouth223