0
Regexp를 사용하여 Nmap 명령의 출력을 일치 시키려고합니다. 두 가지 형식이있을 수 있습니다.Regexp : 그룹으로 묶기
1 형식 (nmap을 찾을 수있는 호스트 이름)
Nmap scan report for 2u4n32t-n4 (192.168.2.168)
과 (호스트 이름없이) 2 형식
Nmap scan report for 192.168.2.1
내가 두 호스트 이름과 여기서 ipaddress를 캡처 할 어떠한 호스트 이름이없는 경우 바로 얻을 Ip를 두 번째 형식의 호스트 이름으로 사용합니다.
내가 지금까지 golang에서 정규 표현식에서 시도되었다
Nmap scan report for\\s+([^[:space:]]+)(\\s+\\(([^[:space:]]+)\\))?
입니다하지만 1 차 형식 (그것이 내가 원하지 않는 나에게 (192.168.2.168)
준)
golang의 결과로 무엇을 가지고 다음과 같다 :
[Nmap scan report for 2u4n32t-n4 (192.168.2.168), 2u4n32t-n4 , (192.168.2.168) , 192.168.2.168]
및 제 2 형식 (그것이 나에게 내가 원하지 않는 준)는 다음과 같다 :
[Nmap scan report for 192.168.2.1, 192.168.2.1, ]
올바르게 수행 할 작업은 무엇입니까?
에서 볼 수 있습니까? 당신은 단지 경기를 반복하고 빈 일치를 제거 할 수 있습니다. 그렇지 않으면 첫 번째 형식으로 원치 않는 부분이있는 부분을 고칠 수 있습니다. – Jerry