Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah Fungsi PHP `preg_match()` Saya Membuang Ralat 'Pembatas Tiada Berakhir'?

Mengapakah Fungsi PHP `preg_match()` Saya Membuang Ralat 'Pembatas Tiada Berakhir'?

Susan Sarandon
Susan Sarandonasal
2024-12-17 22:34:18696semak imbas

Why Does My PHP `preg_match()` Function Throw a

Ungkapan Biasa PHP: Ralat Pembatas

Isu:

Apabila melaksanakan kod PHP berikut , ralat berlaku:

$pattern = "^([0-9]+)$";

if (preg_match($pattern, $input))
   echo "yes";
else
   echo "nope";

Mesej ralat berbunyi: "Amaran: preg_match() [function.preg-match]: Tiada pembatas berakhir '^' ditemui dalam."

Penyiasatan:

Ralat menunjukkan bahawa corak ungkapan biasa tidak mempunyai pembatas penghujung, dilambangkan dengan simbol karet "^".

Penyelesaian:

Dalam PHP, rentetan ungkapan biasa memerlukan pembatas. Untuk menyelesaikan isu, sertakan corak dalam pembatas:

$numPattern = "/^([0-9]+)$/";

Pertimbangan Tambahan:

  1. Sahkan bahawa huruf "o" dalam corak adalah huruf kecil , berbanding nombor sifar (0).
  2. Jika matlamatnya adalah semata-mata untuk mengesahkan input, kumpulan penangkap boleh dialih keluar dan regex dipermudahkan kepada:
/^\d+$/

Untuk maklumat lanjut, rujuk dokumentasi tentang PHP Delimiters.

Atas ialah kandungan terperinci Mengapakah Fungsi PHP `preg_match()` Saya Membuang Ralat 'Pembatas Tiada Berakhir'?. 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