PHP:
การใช้เรกุลาร์เอ็กเพรสชัน
วิธีการ:
PHP รองรับการแสดงออกแบบปกติผ่านห้องสมุด PCRE (Perl Compatible Regular Expressions) ซึ่งมีชุดฟังก์ชั่นที่หลากหลาย นี่คือวิธีการใช้งาน:
การจับคู่รูปแบบ:
เพื่อตรวจสอบว่ามีรูปแบบใด ๆ ภายในสตริงหรือไม่ ใช้ preg_match()
ฟังก์ชั่นนี้จะคืนค่า 1 หากพบรูปแบบในสตริงและ 0 หากไม่พบ
if (preg_match("/\bweb\b/i", "PHP เป็นภาษาสคริปต์สำหรับเว็บ")) {
echo "พบการจับคู่";
} else {
echo "ไม่พบการจับคู่";
}
// ผลลัพธ์: พบการจับคู่
การค้นหาการจับคู่ทั้งหมด:
preg_match_all()
ใช้เมื่อคุณต้องการค้นหาทุกครั้งที่พบรูปแบบภายในสตริง
$text = "แมวและหมา";
$pattern = "/\b([a-z]+)\b/i";
preg_match_all($pattern, $text, $matches);
print_r($matches[0]);
// ผลลัพธ์: Array ( [0] => แมว [1] => และ [2] => หมา )
การแทนที่ข้อความ:
ในการแทนที่ข้อความที่ตรงกับการแสดงออกแบบปกติ ใช้ preg_replace()
มีความสามารถอย่างมากในการจัดรูปแบบและทำความสะอาดข้อมูล
$originalText = "15 เมษายน 2003";
$pattern = "/(\w+) (\d+), (\d+)/i";
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $originalText);
// ผลลัพธ์: เมษายน1,2003
การแบ่งสตริง:
คุณสามารถแบ่งสตริงออกเป็นอาร์เรย์โดยใช้ preg_split()
โดยระบุรูปแบบสำหรับตัวคั่น
$text = "PHP เป็น, ภาษาสคริปต์ที่ได้รับความนิยมอย่างมาก,";
$parts = preg_split("/,\s*/", $text);
print_r($parts);
// ผลลัพธ์: Array ( [0] => PHP เป็น [1] => ภาษาสคริปต์ที่ได้รับความนิยมอย่างมาก [2] => )
นอกจากนี้ สำหรับรูปแบบและภารกิจ regex ที่ซับซ้อน กรอบงานและไลบรารีเช่น ส่วนประกอบ Finder
ของ Symfony หรือชุดฟังก์ชั่นช่วยเหลือของ Laravel อาจมอบชั้นการดำเนินงานที่สะดวกยิ่งขึ้น อย่างไรก็ตาม การเข้าใจและใช้ฟังก์ชั่น PCRE ที่มีอยู่ใน PHP เป็นสิ่งสำคัญสำหรับการประมวลผลและตรวจสอบข้อความอย่างมีประสิทธิภาพโดยตรงภายในสคริปต์ PHP