คำถามติดแท็ก preg-match

4
ฉันจะแปลงนิพจน์ ereg เป็น preg ใน PHP ได้อย่างไร
ตั้งแต่นิพจน์ปกติ POSIX (ereg)จะเลิกตั้งแต่ PHP 5.3.0 ผมอยากที่จะรู้ว่าเป็นวิธีที่ง่ายในการแปลงสำนวนเก่าที่จะPCRE (นิพจน์ปกติ Perl เข้ากันได้) (อายุครรภ์) ตัวอย่างเช่นฉันมีนิพจน์ทั่วไปนี้: eregi('^hello world'); ฉันจะแปลนิพจน์เป็นpreg_matchนิพจน์ที่ใช้ร่วมกันได้อย่างไร หมายเหตุ:โพสต์นี้ทำหน้าที่เป็นตัวยึดตำแหน่งสำหรับโพสต์ทั้งหมดที่เกี่ยวข้องกับการแปลงจาก ereg เป็น preg และเป็นตัวเลือกที่ซ้ำกันสำหรับคำถามที่เกี่ยวข้อง โปรดอย่าปิดคำถามนี้ ที่เกี่ยวข้อง: วิธีเปลี่ยน eregi ของ PHP เป็น preg_match เปลี่ยน ereg_replace เป็น preg_replace ที่เทียบเท่ากัน

4
Regex: ระบุ "ช่องว่างหรือจุดเริ่มต้นของสตริง" และ "ช่องว่างหรือจุดสิ้นสุดของสตริง"
สมมติว่าคุณพยายามจับคู่รูปแบบ "stackoverflow" คุณต้องการสิ่งต่อไปนี้: this is stackoverflow and it rocks [MATCH] stackoverflow is the best [MATCH] i love stackoverflow [MATCH] typostackoverflow rules [NO MATCH] i love stackoverflowtypo [NO MATCH] ฉันรู้วิธีแยกวิเคราะห์ stackoverflow หากมีช่องว่างบนทั้งสองไซต์โดยใช้: /\s(stackoverflow)\s/ เช่นเดียวกับถ้าอยู่ที่จุดเริ่มต้นหรือจุดสิ้นสุดของสตริง: /^(stackoverflow)\s/ /\s(stackoverflow)$/ แต่คุณจะระบุ "ช่องว่างหรือจุดสิ้นสุดของสตริง" และ "ช่องว่างหรือจุดเริ่มต้นของสตริง" โดยใช้นิพจน์ทั่วไปได้อย่างไร?
127 regex  preg-match 

3
นิพจน์ทั่วไปของ PHP: ไม่พบตัวคั่นสิ้นสุด '^' ใน
ฉันมีปัญหากับนิพจน์ทั่วไป นี่คือรหัสของฉัน $pattern = "^([0-9]+)$"; if (preg_match($pattern, $input)) echo "yes"; else echo "nope"; ฉันเรียกใช้และรับ: คำเตือน: preg_match () [function.preg-match]: ไม่พบตัวคั่นสิ้นสุด "^" ใน
109 php  regex  preg-match  pcre 

1
“ Unknown modifier 'g' in …” เมื่อใช้ preg_match ใน PHP?
นี่คือ regex ที่ฉันพยายามใช้: /^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim ฉันพบมันในไซต์นี้และใช้งานได้ดีเมื่อฉันลองใช้ที่นั่น แต่ทันทีที่ฉันวางลงในรหัสฉันได้รับข้อความนี้: Warning: preg_match() [function.preg-match]: Unknown modifier 'g' in C:\xampp\htdocs\swebook\includes\classes.php on line 22 มีใครอธิบายได้ไหมว่ามีอะไรผิดปกติและเหตุใดจึงทำงานบนเว็บไซต์นั้นและไม่อยู่ในรหัสของฉัน

7
ตัวคั่นต้องไม่เป็นตัวอักษรและตัวเลขคละกันหรือแบ็กสแลชและ preg_match
ฉันมีรหัสนี้: $string1 = "My name is 'Kate' and im fine"; $pattern = "My name is '(.*)' and im fine"; preg_match($pattern , $string1, $matches); echo $matches[1]; และเมื่อฉันเรียกใช้มันจะส่งกลับข้อผิดพลาดนี้: คำเตือน: preg_match () [function.preg-match]: ตัวคั่นต้องไม่ใช่ตัวอักษรและตัวเลขหรือเครื่องหมายแบ็กสแลช
88 php  regex  preg-match 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.