0

出力から IP とサブネットの詳細を解析する最良の方法を探していifocnfigます。

inet addrまたはに基づいて検索したくありませんMask:。別のロケールが適用されると、文字列が変更されると正規表現が失敗するためです。

サンプルテキストは次のとおりです。

eth0      Link encap:Ethernet  HWaddr 00:18:F3:BE:18:1E
          inet addr:192.168.10.15  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::218:f3ff:febe:181e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:39456 errors:0 dropped:0 overruns:0 frame:0
          TX packets:45730 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:25457904 (24.2 Mb)  TX bytes:6540945 (6.2 Mb)
          Interrupt:20

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:182 errors:0 dropped:0 overruns:0 frame:0
          TX packets:182 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:12812 (12.5 Kb)  TX bytes:12812 (12.5 Kb)

を使用するなど、いくつかの方法を試しました\d+\.\d+\.\d+\.\d+が、最適な方法が見つかりませんでした。これについて助けが必要です。

4

2 に答える 2

0
import re
tempstr='blah blah 172.16.13.35 blah blah 23.85.85.94'

matches = re.findall(r'\d+[.]\d+[.]\d+[.]\d+', tempstr) 
for match in matches:
    print match

このコードは、指定された文字列 tempstr で見つかったすべての IP を出力します。プログラムの出力は 172.16.13.35 23.85.85.94 です

于 2015-04-20T12:56:53.273 に答える