2016-12-07 6 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( 'Explicit Route'):s.find( 'レコードルート')])最後のオクテットの桁の後に量子を追加しなければならなかった。それ以外はこれが完璧に機能しました!!ありがとうございました! – kaceymusgraves

+0

確かに、私は私の答えを編集しました。喜んで助けてください。 –

関連する問題