Flags ตัวอย่าง: g i m s u y
เขียน Regex แล้วดูผลการ match และคำอธิบายว่าแต่ละส่วนทำหน้าที่อะไร
Flags ตัวอย่าง: g i m s u y
Regular Expression หรือ Regex คือ pattern ที่ใช้ค้นหา จับ หรือแทนที่ข้อความตามรูปแบบที่กำหนด เป็นเครื่องมือที่มีอยู่ในเกือบทุกภาษาโปรแกรม เช่น Python, JavaScript, Java, PHP และ shell script ใช้งานได้หลากหลาย เช่น validate email, ค้นหา IP address ในข้อความ, แทนที่คำหลายคำพร้อมกัน และ parse log files เรียนรู้ Regex จะช่วยเพิ่มประสิทธิภาพการทำงานได้มาก
Regex พื้นฐานที่ควรรู้ ได้แก่ \d (ตัวเลข 0-9), \w (ตัวอักษร ตัวเลข ขีดล่าง), \s (ช่องว่าง tab newline), . (อักขระใดก็ได้ยกเว้น newline), ^ (จุดเริ่มต้น), $ (จุดสิ้นสุด), + (1 ครั้งหรือมากกว่า), * (0 ครั้งหรือมากกว่า), ? (มีหรือไม่มีก็ได้) และ [abc] (ตัวใดตัวหนึ่งในกลุ่ม) ใช้ร่วมกันสร้าง pattern ที่ซับซ้อนได้
Regex flags ปรับพฤติกรรมการค้นหา ได้แก่ g (global) — หาทุก match ไม่หยุดที่แรก, i (case-insensitive) — ไม่แยกพิมพ์ใหญ่/เล็ก เช่น ABC = abc, m (multiline) — ให้ ^ และ $ ตรงกับต้นและท้ายของแต่ละบรรทัด ไม่ใช่ทั้งสตริง, s (dotAll) — ให้ . ตรงกับ newline ด้วย ตัวอย่างใช้งาน /hello/gi จะหาคำว่า hello ทุกรูปแบบตัวพิมพ์ทั้งหมดใน text
สำหรับ validate email พื้นฐานใช้ pattern เช่น /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/ ซึ่งตรวจสอบว่ามี @ คั่นและส่วน domain ถูกต้อง สำหรับเบอร์โทรไทย เช่น 0812345678 ใช้ /^0[6-9]\d{8}$/ สำหรับ 10 หลักขึ้นต้น 0 และตามด้วย 6-9 อย่างไรก็ตาม Regex ที่ซับซ้อนเกินไปอาจทำให้ประสิทธิภาพแย่ลง ควรทดสอบกับ edge cases เสมอ