Mengesahkan Integriti Rentetan dengan Ungkapan Biasa
Apabila cuba mengesahkan input berangka menggunakan ungkapan biasa "d", anda mungkin menghadapi padanan yang tidak dijangka, seperti alamat IP yang mengandungi aksara bukan digit. Memahami punca kelakuan ini adalah penting untuk melaksanakan pengesahan rentetan yang berkesan.
Ungkapan biasa "d " sepadan dengan mana-mana jujukan digit berturut-turut dalam rentetan. Walau bagaimanapun, dalam contoh yang diberikan, alamat IP "78.46.92.168:8000" mengandungi kedua-dua digit dan aksara bukan digit. Memandangkan "d " sepadan dengan mana-mana nombor positif digit dalam rentetan, ia sepadan dengan 78 yang pertama, walaupun aksara yang selebihnya tidak mematuhi kekangan digit.
Untuk mengelakkan padanan palsu seperti itu, adalah dinasihatkan untuk menggunakan corak ungkapan biasa alternatif yang menguatkuasakan pengesahan berangka yang ketat. Satu pendekatan ialah menggunakan "^d $" yang memastikan keseluruhan rentetan terdiri daripada digit semata-mata. Sebagai alternatif, kaedah "isdigit()" terbina dalam Python menawarkan cara yang lebih ringkas dan mudah untuk mengesahkan sama ada rentetan mengandungi digit sahaja.
Atas ialah kandungan terperinci Mengapa Adakah '\d ' Padanan Tanpa Dijangka dalam Alamat IP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!