ฉันมีสตริงที่เลือกซึ่งกำลังค้นหาบันทึก 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 - - - -
โปรดทราบว่าบรรทัดที่สามเริ่มต้นด้วย > แสดงถึงบรรทัดที่เลือกสตริงที่ตรงกัน
ฉันกำลังพยายาม -replace บน > เพื่อแทนที่ด้วย ‹ font color="red">$1‹ /font> แต่การแทนที่ของฉันดูเหมือนจะไม่ทำงาน
นี่คือรหัสของฉัน:
$results = $results -replace "(^> )(.*)$", "< font color='red'>$1< font>"
กูรู PowerShell regex คนใดสามารถบอกฉันได้ไหมว่าทำไมนิพจน์ทั่วไปของฉันไม่ตรงกัน
ขอบคุณแบรด