2017-07-04 5 views
0

私は、このトピックに関する多くのスレッドを明確かつ複雑な答えで見つけました。Pythonの文章の中でIPとCIDRを解析する正しい方法は何ですか

ip = re.findall(r'[0-9]+(?:\.[0-9]+){3}', file) 

8.8.8.8のためではなく、8.8.8.8/32の作品:IPv4の

/Xをキャッチするために(?:/(\d+)を追加しようとしました。成功なし。

私のファイルにはIPv6のIPがあります。同じように、IPv6 IPの正規表現検索が本当に必要ですか? Pythonでテキスト内のIPを検索する簡単な方法はありますか?

答えて

1

あなたは(IPv4用)このパターンを使用することができます。

存在する場合、オプションのサブネットと一致する
[0-9]+(?:\.[0-9]+){3}(?:\/[\d]+)? 

。ここにはdemoがあります。

pythonでのマッチングのために、あなたはこれを行う必要があります:

ip = re.findall(r'\b[0-9]+(?:\.[0-9]+){3}(?:\/[\d]+)?\b', file, flags=re.M) 

fileは、複数行の文字列である、と仮定。そうでない場合は、file.read()を実行する必要があります。

関連する問題