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
Lepaskan: 2024-12-17 22:34:18
asal
617 orang telah melayarinya

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";
Salin selepas log masuk

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]+)$/";
Salin selepas log masuk

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+$/
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan