Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Memastikan Rentetan Mewakili Nilai Berangka Sebenar Menggunakan Ungkapan Biasa?

Bagaimanakah Saya Boleh Memastikan Rentetan Mewakili Nilai Berangka Sebenar Menggunakan Ungkapan Biasa?

DDD
DDDasal
2024-11-16 07:35:03383semak imbas

How Can I Ensure a String Represents a True Numeric Value Using Regular Expressions?

Mengesahkan Integriti Numerik Rentetan menggunakan Ungkapan Biasa

Apabila cuba untuk memastikan sama ada rentetan mewakili nombor menggunakan ungkapan biasa "d", tidak dijangka perlawanan boleh timbul. Sebagai contoh, coretan kod yang disediakan mendapati "78.46.92.168:8000" sebagai nombor positif, yang bukan hasil yang dimaksudkan. Ini menimbulkan persoalan bagaimana "." dan aksara ":" dikenali sebagai digit.

Jawapannya terletak pada ungkapan "d ", yang sepadan dengan satu atau lebih digit dalam rentetan. Akibatnya, ia mencari dan menjajarkan dengan "78" pada permulaan alamat IP, menghasilkan padanan positif.

Untuk menyelesaikan isu ini dan memastikan corak regex hanya mengenali nilai angka, seseorang boleh mengubah suainya kepada "^d $". Ungkapan yang disemak ini mencari padanan yang bermula dengan digit, meneruskan dengan sifar atau lebih digit tambahan dan berakhir dengan digit.

Sebagai alternatif, pendekatan yang lebih mudah dan ringkas ialah menggunakan kaedah "isdigit()" untuk rentetan, seperti dalam "78.46.92.168:8000".isdigit(). Kaedah ini mengesahkan secara jelas jika keseluruhan rentetan memenuhi kriteria angka, menghapuskan sebarang kekeliruan dalam tafsiran.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memastikan Rentetan Mewakili Nilai Berangka Sebenar Menggunakan Ungkapan Biasa?. 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