ฉันมีปัญหากับนิพจน์ทั่วไป
นี่คือรหัสของฉัน
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
ฉันเรียกใช้และรับ:
คำเตือน: preg_match () [function.preg-match]: ไม่พบตัวคั่นสิ้นสุด "^" ใน
ฉันมีปัญหากับนิพจน์ทั่วไป
นี่คือรหัสของฉัน
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
ฉันเรียกใช้และรับ:
คำเตือน: preg_match () [function.preg-match]: ไม่พบตัวคั่นสิ้นสุด "^" ใน
คำตอบ:
สตริง PHP regex ต้องการตัวคั่น ลอง:
$numpattern="/^([0-9]+)$/";
นอกจากนี้โปรดทราบว่าคุณมีตัวพิมพ์เล็ก o ไม่ใช่ศูนย์ นอกจากนี้หากคุณกำลังตรวจสอบความถูกต้องคุณไม่จำเป็นต้องใช้กลุ่มการจับภาพและสามารถทำให้ regex ง่ายขึ้น/^\d+$/
ได้
ตัวอย่าง: http://ideone.com/Ec3zh
ดูเพิ่มเติม: PHP - ตัวคั่น
[
และ]
ตัวคั่นมิฉะนั้นคุณจะพบความขัดแย้งกับรูปแบบนั้นเอง
รูปแบบนิพจน์ทั่วไปของคุณต้องอยู่ในตัวคั่น:
$numpattern="/^([0-9]+)$/";
คุณสามารถใช้ไลบรารี T-Regxซึ่งไม่จำเป็นต้องใช้ตัวคั่น
pattern('^([0-9]+)$')->match($input);