Обратите внимание, что (?m)GO$
будет соответствовать GO
только в конце строки или в строке, которая имеет только LF-конец. Вам необходимо добавить \r?
перед $
, чтобы сопоставить окончания LF и CRLF
Вы можете получить и распечатать захваченные подстроки (которые находятся в группе 1) с
[regex]::Matches($fileContent, '(?smi)(.*?)^GO\r?$') | % { "MATCH: $($_.Groups[1].value)`n--END OF MATCH---" }
Примечание $_.Groups[1].value
, который обращается к буферу памяти группы 1. Матчи доступны с использованием $_.value
. Вы можете делать с результатами все, что вам нужно, вместо печати.