ホームページ >よくある問題 >IPアドレスの正規表現について詳しく解説

IPアドレスの正規表現について詳しく解説

coldplay.xixi
coldplay.xixi転載
2020-06-12 09:12:287605ブラウズ

IPアドレスの正規表現について詳しく解説

#IP アドレスの詳細な正規表現分析

IP アドレスは 32 ビット長で、4 つのセグメントに分割されています。各セグメントは 8 桁の 10 進数で表され、各セグメントの範囲は 0 ~ 255 で、セグメントは英語のピリオド「.」で区切られます。たとえば、特定のコンピュータの IP アドレスは 10.11.44.100 です。

IP アドレスの構成特性を分析します: 250 ~ 255、200 ~ 249、0 ~ 199。

これら 3 つの状況は個別に考慮できます。

250-255: 特徴: 3 桁、百の位は 2、十の位は 5、一の位は 0 ~ 5 で表されます。正規表現を使用すると、式は次のように記述できます: 25[0-5]

200-249: 特徴: 3 桁、百の位は 2、十の位は 0 ~ 4、一の位は 0 ~9 では、正規表現を使用できます。次のように記述します: 2[0-4]\d

0-199: これは分割し続けることができるため、記述がより単純かつ明確になります。

0-9: 特性: 1 桁、個別 桁は 0 ~ 9 で、正規表現で記述できます: \d

10-99: 特性: 2 桁、十の位は 1 ~ 9 、一の位は 0 ~ 9 で、正規表現を使用して記述できます: [1-9]\d

100-199: 特徴: 3 桁、百の位は 1、十の位は 0 ~ 9、1 の位は 0 ~ 9、正規表現を使用して書くことができます。 :1\d{2}

したがって、0 ~ 99 の正規表現は [1-9] と書くことができます。 ?\d の場合、0 ~ 199 は (1\d{ 2})|([1-9]?\d) と記述できるため、0 ~ 255 の正規表現は (25[0-5 ]|2[0-4]\d|((1\d{2 })|([1-9]?\d)))

最後に、最初の 3 つの段落にピリオドを追加します。 {3} を使用してそれを繰り返すことができます。4 番目の段落で同じ一致を繰り返して、IP アドレスを取得します。正規表現:

((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))

対話しましょう:

なぜ 3 つなのか2 桁または 1 桁の数字の前にある桁一致?正規表現のルールの 1 つは、最初に一致したものが最も優先されるためです。

2. 0.0.0.0 と 255.255.255.255 は正当な IP アドレスです。その理由はわかりますか?
3. 192.169.01.108 (先頭に 0 が追加された数字) は、ここでは合法ではありません。なぜこのようになるのでしょうか?
4. なぜ先頭に ?: があるのですか?ここで何の役に立つの?
5. この表現に誤りを見つけた場合は、修正するようメッセージを残してください。

推奨チュートリアル:「

IP

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

声明:
この記事はliqingbo.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。