Saya mengalami masalah dengan ekspresi reguler.
Ini kode saya
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
Saya menjalankannya dan mendapatkan:
Peringatan: preg_match () [function.preg-match]: Tidak ditemukan pemisah akhir '^' di
php
regex
preg-match
pcre
Fingerman
sumber
sumber
Jawaban:
String PHP regex membutuhkan pembatas. Mencoba:
Juga, perhatikan bahwa Anda memiliki huruf kecil o, bukan nol. Selain itu, jika Anda hanya memvalidasi, Anda tidak memerlukan grup penangkapan, dan dapat menyederhanakan regex menjadi
/^\d+$/
.Contoh: http://ideone.com/Ec3zh
Lihat juga: PHP - Pembatas
sumber
[
dan]
pembatas, jika tidak, Anda akan mengalami konflik dengan pola itu sendiri.Pola regex Anda harus berada dalam pembatas:
sumber
Anda dapat menggunakan pustaka T-Regx , yang tidak membutuhkan pembatas
sumber