Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Python Regex "\d" Memadankan Hanya Digit Tertib Ganjil dalam "12345"?

Mengapa Python Regex "\d" Memadankan Hanya Digit Tertib Ganjil dalam "12345"?

Linda Hamilton
Linda Hamiltonasal
2024-11-16 10:32:03214semak imbas

Why Does Python Regex

Digit Padanan Regex: Mendedahkan Sifat Sebenar "d"

Dalam dunia regex Python, kelas watak misterius "d" telah dibangkitkan soalan tentang kelakuan padanannya yang tepat. Mari kita mendalami sifat samarnya.

Dalam rentetan "123", "d" menangkap kedua-dua "1" dan "3" tetapi secara ingin tahu mengecualikan "2". Tingkah laku pelik ini berpunca daripada nuansa halus dalam takrifan "digit."

"d" Python tidak secara eksklusif sepadan dengan digit daripada sistem angka Barat (iaitu, "0-9"). Ia juga merangkumi julat lanjutan kelas aksara Unicode dalam kategori "Digit" atau "Nd." Ini termasuk, contohnya, angka Arab Timur seperti "٠" dan "١".

Oleh itu, apabila memadankan digit dalam ungkapan regex Python, adalah penting untuk mengetahui bahawa "d" menghasilkan jaringan yang lebih luas daripada [0 -9]. Pemahaman bernuansa ini membongkar misteri mengapa, dalam urutan seperti "12345," hanya digit tertib ganjil (iaitu, "1", "3", dan "5") sejajar dengan padanan "d", meninggalkan digit tersusun genap ("2" dan "4") tidak disentuh.

Atas ialah kandungan terperinci Mengapa Python Regex "\d" Memadankan Hanya Digit Tertib Ganjil dalam "12345"?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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