การใช้เรกุลาร์เอ็กเพรสชัน

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