정규식에 올 때 완전한 멍청한 놈입니다. 누군가 도와 드릴 수 있습니까?Powershell : Regex를 사용하여 문자열에서 텍스트를 추출하십시오.
도메인이 필요하면 모든 (??)을 a로 대체해야합니다.
내가 추출을 필요로하는 것 : .OPS-findb01.domain.com : (11) OPS-findb01 (13) 도메인 (3) COM (0)
최종 결과는 같아야합니다.
$betterline = ($line -match "\(\d+\)(?:\w+\(\d+\))+$") -replace "\(\d+\)", "."
이 첫 번째 잡기 위해 라인을 일치 :
8/2/2012 3:37:59 PM 0908 PACKET 0000000002CC4F60 UDP Rcv 10.10.10.10 563a Q [0001 D NOERROR] A (11)ops-findb01(13)domain(3)com(0)
8/2/2012 3:37:59 PM 0908 PACKET 0000000002C32810 UDP Rcv 10.10.10.10 6f24 Q [0001 D NOERROR] A (11)ops-findb01(13)domain(3)com(0)
8/2/2012 3:38:00 PM 0908 PACKET 00000000029EDC00 UDP Rcv 10.10.10.10 459a Q [0001 D NOERROR] A (3)www(6)google(3)com(0)
8/2/2012 3:38:00 PM 0908 PACKET 0000000002CC4F60 UDP Rcv 10.10.10.10 d47e Q [0001 D NOERROR] PTR (2)dr(7)_dns-sd(4)_udp(1)0(2)40(1)5(2)10(7)in-addr(4)arpa(0)
8/2/2012 3:38:00 PM 0908 PACKET 0000000002C32810 UDP Rcv 10.10.10.10 0b3c Q [0001 D NOERROR] PTR (2)db(7)_dns-sd(4)_udp(1)0(1)0(1)5(2)10(7)in-addr(4)arpa(0)
8/2/2012 3:38:00 PM 0908 PACKET 00000000029EDC00 UDP Rcv 10.10.10.10 8890 Q [0001 D NOERROR] A (2)dl(6)javafx(3)com(0)
8/2/2012 3:38:00 PM 0908 PACKET 0000000002CC4F60 UDP Rcv 10.10.10.10 60e7 Q [0001 D NOERROR] A (7)trading(9)scottrade(3)com(0)
로그 파일 형식은 항상
감사합니다! 하이픈 검색이 필요했기 때문에 1 문제가 발견되었으므로 [\ w-]이어야합니다. 나는 배우고있다 : o) – Randy