У меня есть строка выбора, которая ищет журнал IIS для конкретной строки и возвращает 2 строки выше и одну строку ниже. Итак, результаты выглядят так:
2012-06-15 18:26:09 98.138.206.39 OutboundConnectionResponse SMTPSVC1 WEB10 - 25 - - 220+mta1083.sbc.mail.ne1.yahoo.com+ESMTP+YSmtp+service+ready 0 0 60 0 218 SMTP - - - - 2012-06-15 18:26:09 98.138.206.39 OutboundConnectionCommand SMTPSVC1 WEB10 - 25 EHLO - WEB10.DOMAIN>COM 0 0 4 0 218 SMTP - - - - > 2012-06-15 18:26:09 74.125.244.10 OutboundConnectionResponse SMTPSVC1 WEB10 - 25 - - 550+IP+Authorization+check+failed+-+psmtp 0 0 41 0 218 SMTP - - - - 2012-06-15 18:26:09 74.125.244.10 OutboundConnectionCommand SMTPSVC1 WEB10 - 25 RSET - - 0 0 4 0 218 SMTP - - - -
Обратите внимание, что третья строка начинается с символа>, обозначающего строку, с которой совпала строка выбора.
Я пытаюсь выполнить замену на>, чтобы заменить его на ‹font color =" red "> $ 1‹ / font>, но моя замена, похоже, не работает.
Вот мой код:
$results = $results -replace "(^> )(.*)$", "< font color='red'>$1< font>"
Может ли какой-нибудь гуру регулярных выражений PowerShell сказать мне, почему мое регулярное выражение не соответствует?
Спасибо, Брэд