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.
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}'
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:
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?)'
Dalam ungkapan ini, kami memadankan setiap medan nombor secara berasingan, antaranya:
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.
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}'
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!