Rumah > pembangunan bahagian belakang > Tutorial Python > Cara menggunakan ungkapan biasa Python untuk padanan alamat IP

Cara menggunakan ungkapan biasa Python untuk padanan alamat IP

王林
Lepaskan: 2023-06-22 16:05:56
asal
4470 orang telah melayarinya

Ekspresi biasa ialah alat pemadanan aksara yang berkuasa yang boleh digunakan untuk mengenal pasti dan memadankan rentetan dalam format tertentu. Dalam pengaturcaraan rangkaian, alamat IP adalah konsep yang sangat penting, jadi menggunakan ungkapan biasa untuk pemadanan alamat IP dalam Python adalah kemahiran yang sangat diperlukan dan praktikal. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk padanan alamat IP.

  1. Ungkapan padanan alamat IP asas

Alamat IP terdiri daripada empat nombor, setiap nombor berjulat dari 0 hingga 255. Oleh itu, ungkapan padanan alamat IP asas boleh ditulis sebagai:

import re

ip_pattern = r'(d{1,3}.){3}d{1,3}'
Salin selepas log masuk

Ungkapan ini bermaksud untuk memadankan alamat IP yang terdiri daripada 4 medan angka, setiap medan angka terdiri daripada 1 hingga 3 digit, Medan angka dipisahkan oleh noktah .

Dalam ungkapan ini, kami menggunakan beberapa sintaks asas ungkapan biasa:

  • d: padankan nombor
  • {n,m}: padankan Corak sebelumnya n dengan m kali
  • .: Padankan titik
  1. Padanan terperinci alamat IP

walaupun ungkapan di atas boleh sepadan dengan Kebanyakan alamat IP, tetapi ia tidak mengambil kira bahawa medan nombor alamat IP hendaklah berkisar antara 0 hingga 255. Untuk menyelesaikan masalah ini, kita perlu memadankan setiap medan angka secara berasingan dan menggunakan mekanisme pengelompokan ungkapan biasa untuk mengehadkannya.

ip_pattern = r'((25[0-5]|2[0-4]d|[01]?dd?).){3}(25[0-5]|2[0-4]d|[01]?dd?)'
Salin selepas log masuk

Dalam ungkapan ini, kami memadankan setiap medan nombor secara berasingan, antaranya:

  • 25[0-5]: Memadankan nombor antara 250 dan 255
  • 2 [0-4]d: Padankan nombor antara 200 dan 249
  • [01]?dd?: Padankan nombor antara 0 dan 199, boleh jadi satu atau dua digit Nombor

Ini ungkapan menggunakan mekanisme pengelompokan Subungkapan dalam kurungan digunakan dalam ungkapan setiap medan nombor untuk menunjukkan bahawa ini adalah kumpulan. Terdapat juga kumpulan pada penghujung keseluruhan ungkapan, menunjukkan bahawa keseluruhan alamat IP terdiri daripada empat medan angka. Dengan cara ini, kami mengehadkan julat nilai setiap medan angka.

  1. Padanan alamat IPv6

Selain alamat IPv4, terdapat juga alamat IPv6, yang terdiri daripada 8 digit heksadesimal (setiap nombor boleh mempunyai 1 hingga 4 digit perenambelasan ) dipisahkan oleh titik bertindih. Ungkapan biasa alamat IPv6 boleh ditulis sebagai:

ipv6_pattern = r'[a-fA-F0-9]{1,4}(:[a-fA-F0-9]{1,4}){7}'
Salin selepas log masuk

Ungkapan ini bermaksud untuk memadankan alamat IPv6 yang terdiri daripada 8 digit heksadesimal, setiap nombor boleh mempunyai 1 hingga 4 digit heksadesimal , nombor dipisahkan dengan titik bertindih.

Ringkasan

Ekspresi biasa Python boleh digunakan untuk menangani pelbagai masalah padanan aksara, termasuk padanan alamat IP. Apabila memproses alamat IP, anda perlu mempertimbangkan julat nilai medan berangka dan menggunakan mekanisme pengumpulan untuk mengehadkannya. Selain alamat IPv4, terdapat juga alamat IPv6, yang terdiri daripada 8 digit heksadesimal dan boleh dipadankan menggunakan ungkapan biasa yang serupa.

Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa Python untuk padanan alamat IP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan