2016-12-07 3 views
0

오늘은 꽤 오랫동안 작업을 마친 마침내 수건을 던져야합니다. 나는이처럼 보이는 출력에서 ​​모든 IP 주소를 검색하려고 :정규 IP 주소를 찾는 정규식

My Address: 10.10.10.1 
    Explicit Route: 192.168.238.90 192.168.252.209 192.168.252.241 192.168.192.209 
        192.168.192.223 
    Record Route: 

내가 '명시 경로'와 '기록 경로'에서 사이의 모든 IP 주소를 당길 필요가있다. 나는 textfsm을 사용하고 있으며 필요한 모든 것을 얻을 수없는 것 같습니다.

+0

후 값이 있습니까? – joeb

+0

'split()'과 같은 표준 문자열 함수를 사용할 수 없습니까? – furas

답변

1

사용 정규식 문자열 작업 : "명시 적 경로 :"공백으로 구분 항상 IP 주소

import re 
s = '''My Address: 10.10.10.1 
    Explicit Route: 192.168.238.90 192.168.252.209 192.168.252.241 192.168.192.209 
        192.168.192.223 
    Record Route:''' 
ips = re.findall(r'\d+\.\d+\.\d+\.\d+', s[s.find('Explicit Route'):s.find('Record Route')]) 
+0

'ips = re.findall (r '\ d + \. \ d + \. \ d + \. \ d {1,3}', s [s.find ('명시 적 경로') : s.find ('경로 기록 ')]) 마지막 옥텟의 자리 뒤에 한정 기호를 추가해야했습니다. 그것보다 완벽하게 작동! 고맙습니다! – kaceymusgraves

+0

오, 물론 내 대답을 편집했습니다. 기꺼이 도와주세요. –

관련 문제