นิพจน์ทั่วไปของ PHP: ไม่พบตัวคั่นสิ้นสุด '^' ใน


109

ฉันมีปัญหากับนิพจน์ทั่วไป

นี่คือรหัสของฉัน

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

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

ฉันเรียกใช้และรับ:

คำเตือน: preg_match () [function.preg-match]: ไม่พบตัวคั่นสิ้นสุด "^" ใน


คุณสามารถใช้ไลบรารี T-Regxซึ่งไม่จำเป็นต้องใช้ตัวคั่น
ดานอน

คำตอบ:


166

สตริง PHP regex ต้องการตัวคั่น ลอง:

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

นอกจากนี้โปรดทราบว่าคุณมีตัวพิมพ์เล็ก o ไม่ใช่ศูนย์ นอกจากนี้หากคุณกำลังตรวจสอบความถูกต้องคุณไม่จำเป็นต้องใช้กลุ่มการจับภาพและสามารถทำให้ regex ง่ายขึ้น/^\d+$/ได้

ตัวอย่าง: http://ideone.com/Ec3zh

ดูเพิ่มเติม: PHP - ตัวคั่น


2
สำหรับผู้ที่ไม่ได้อ่านเนื้อหาที่เชื่อมโยงให้ใช้[และ]ตัวคั่นมิฉะนั้นคุณจะพบความขัดแย้งกับรูปแบบนั้นเอง
greenoldman


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.