Не совсем 100% уверен, что вы после этого, но изменив выражение следующим образом: (?smi)(^\[1750256247\](.|-|\s*$))(^;Rev: B,5$)
(пример here) работает.
Некоторые проблемы с вашим выражением:
В регулярных выражениях синтаксисе [
и ]
символов обозначают наборы символов, то есть, набор символов которой двигатель будет пытаться соответствовать одному из. Если вам необходимо сопоставить фактические цифры [
и ]
, вам необходимо сбежать от них с помощью символа \
.
Вы используете модификатор s
, что позволяет символу периода также соответствовать символам новой строки, но вы не используете символ периода.
EDIT: Согласно предложению @ stribizhev, вы можете использовать (?smi)(^\[1750256247](.|-|\s*$))(^;Rev: B,5$)
. Лично я бы пошел на первый вариант, потому что считаю его более читаемым, но мнения, скорее всего, будут отличаться от этого.
Вы также можете использовать '$ fileContent | Select-String "(? I) \ [1750256247] [- \ s] *; Rev: B, 5" -AllMatches | Foreach {$ _. Матчи} | Foreach {$ _. Value} ' –
npinti тоже не работает на моем конце. Вы пытались '$ fileContent | Select-String "(? I) \ [1750256247] [- \ s] *; Rev: B, 5" -AllMatches | Foreach {$ _. Матчи} | Foreach {$ _. Value} '? Кстати, вы имеете в виду «\ r \ n' linebreak» или «
»? –
Привет, Страбижев, Да, я тоже попробовал. То же самое произошло. Я не понимаю, почему. Я имею в виду [CR] [LF] – AydinK