IP アドレス照合に Python 正規表現を使用する方法

王林
リリース: 2023-06-22 16:05:56
オリジナル
4360 人が閲覧しました

正規表現は、特定の形式の文字列を識別して一致させるために使用できる強力な文字一致ツールです。ネットワーク プログラミングでは、IP アドレスは非常に重要な概念であるため、Python で正規表現を使用して IP アドレスを照合することは、非常に必要かつ実践的なスキルです。この記事では、Python 正規表現を使用して IP アドレスを照合する方法を紹介します。

  1. 基本的な IP アドレス照合式

IP アドレスは 4 つの数値で構成され、各数値の値の範囲は 0 ~ 255 です。したがって、基本的な IP アドレス照合式は次のように記述できます:

import re

ip_pattern = r'(d{1,3}.){3}d{1,3}'
ログイン後にコピー

この式は、4 つの数値フィールドで構成される IP アドレスと照合することを意味し、各数値フィールドは 1 ~ 3 桁で構成されます。数値フィールドはピリオドで区切られます。 。

この式では、正規表現の基本的な構文を使用します。

  • d: 数値の一致
  • {n,m}: 前述のパターン n との一致m 回
  • .: ドット番号の一致
  1. IP アドレスの詳細な一致

上記の式はほとんどの IP アドレスに一致しますが、 IP アドレス番号フィールドの範囲が 0 ~ 255 である必要があることは考慮されていません。この問題を解決するには、各数値フィールドを個別に照合し、正規表現のグループ化メカニズムを使用して制限する必要があります。

ip_pattern = r'((25[0-5]|2[0-4]d|[01]?dd?).){3}(25[0-5]|2[0-4]d|[01]?dd?)'
ログイン後にコピー

この式では、各数値フィールドを個別に照合します。

  • 25[0-5]: 250 から 255 までの数値と照合します
  • 2 [0-4]d: 200 ~ 249 の数値に一致します
  • [01]?dd?: 0 ~ 199 の数値に一致します。1 桁または 2 桁の数値を指定できます。 Number

This式はグループ化メカニズムを使用します。括弧で囲まれた部分式は、各数値フィールドの式で使用され、これがグループ化であることを示します。式全体の最後にもグループがあり、IP アドレス全体が 4 つの数値フィールドで構成されていることを示します。このようにして、各数値フィールドの値の範囲を制限します。

  1. IPv6 アドレスのマッチング

IPv4 アドレスに加えて、8 桁の 16 進数で構成される IPv6 アドレスもあります (各数値には 1 ~ 4 桁の 16 進数を含めることができます) ) コロンで区切ります。 IPv6 アドレスの正規表現は次のように記述できます。

ipv6_pattern = r'[a-fA-F0-9]{1,4}(:[a-fA-F0-9]{1,4}){7}'
ログイン後にコピー

この式は、8 桁の 16 進数で構成される IPv6 アドレスと一致することを意味します。各数値には 1 ~ 4 つの 16 進数を含めることができ、数値はコロンで区切られます。

概要

Python 正規表現を使用すると、IP アドレスの一致など、さまざまな文字一致の問題を処理できます。 IP アドレスを処理するときは、数値フィールドの値の範囲を考慮し、グループ化メカニズムを使用してそれを制限する必要があります。 IPv4 アドレスに加えて、8 桁の 16 進数で構成され、同様の正規表現を使用して照合できる IPv6 アドレスもあります。

以上がIP アドレス照合に Python 正規表現を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!