การใช้ Regular Expression ใน PHP สำคัญอย่างไร

Regular Expression Yellow

ภาษา PHP นับว่าน่าสนใจอีกอย่างหนึ่งตรงที่ว่ามันมีเครื่องมือ โค้ด มากมาย โค้ดบางอย่างอาจจะใช้ดีมากกับสถานการณ์หนึ่ง แต่เวลาผ่านในไม่นานในสถานการณ์เดียวกันอาจจะมีคนคิดค้นโค้ด PHP ตัวใหม่มาเพื่อให้การทำงานของระบบดีขึ้นง่ายขึ้น เร็วขึ้นก็ได้ Regular Expression ก็เช่นกัน มันอาจจะเป็นชุดคำสั่งภาษา PHP ที่หลายคนร้องยี้ แต่บอกเลยว่าเดี๋ยวนี้มันกลับสำคัญอย่างมากเลย เพราะอะไรไปดู

Regular Expression มันคืออะไร

สำหรับคนที่ไม่ได้มีความรู้เรื่องคอมพิวเตอร์ ภาษาคอมพิวเตอร์ การสร้างเว็บไซต์ หรือ ภาษา PHP เราขออธิบายคำว่า Regular Expression ไว้สักหน่อย สำหรับคำนี้ก็คือ กลุ่มตัวอย่างชุดคำสั่งหนึ่งในกลุ่มภาษา PHP (โค้ดคำสั่งที่เอาไว้สร้างชิ้นงาน) ซึ่งกลุ่มคำสั่งแต่ละอย่างก็จะมีความสามารถแตกต่างกันไป สำหรับ Regular Expression หากจะให้นึกภาพตามอย่างง่ายก็คือ ให้นึกถึงคำสั่งค้นหาคำ ในโปรแกรม Microsoft word นั่นแหละคือเค้าล่ะ แต่ตัวนี้มีประสิทธิภาพมากกว่านั้น

ตรวจสอบข้อมูล

นอกจากความสามารถในการค้นหาแล้ว Regular Expression ยังมีความสามารถในการตรวจสอบข้อมูลนั้นด้วย ว่าเป็นไปอย่างถูกต้องหรือไม่ ยกตัวอย่างเช่น หากเราต้องการกำหนดให้มีเครื่องมืออะไรสักอย่างเพื่อเช็คว่า คนที่เข้ามากรอกข้อมูลในช่อง อีเมล์ ของเราใส่ข้อมูลถูกหรือเปล่า หรือ มั่วมา เราก็ต้องใช้ Regular Expression ตัวนี้แหละตรวจว่าใส่มาถูกหรือไม่(ภายใต้เงื่อนไขที่กำหนด) หากใส่ผิดมันจะตรวจสอบแล้วส่งต่อไปยังการแสดงผลต่อไปว่า ผิด ให้แสดงผลอย่างไร ถูก ให้แสดงผลอย่างไร สำคัญคือมันตรวจสอบแม่นมาก

ตรวจสอบรูปแบบ

ต่อจากอีเมล์ Regular Expression มันยังมีความสำคัญมากกว่านั้น ก็คือ มันจะสามารถตรวจสอบรูปแบบการกรอกข้อมูลได้ ยกตัวอย่างเช่น เลขบัตรนักศึกษา จะมีการกำหนดตายตัวไปเลยว่า สองตัวแรกหมายถึงอะไรตัวต่อไปเป็นอะไร จนถึงตัวสุดท้าย ทีนี้เราก็สามารถไปตั้งเงื่อนไขผ่านชุดคำสั่ง Regular Expression ได้เพื่อให้มันตรวจสอบรูปแบบการทำงาน หากกรอกมาผิด ในกรณีนี้เลขนักศึกษาไปพิมพ์ผิดเป็นเลข 0a มันก็จะฟ้องเลยว่ากรอกผิด เนื่องจากต้องเป็นตัวเลขทั้งหมดเป็นต้น

เงื่อนไขเยอะ แต่ฝึกฝนกันได้

แม้ว่า Regular Expression จะสามารถช่วยตรวจสอบข้อมูลได้ดี ทำให้การกรอกข้อมูลถูกต้องชัดเจนมีประสิทธิภาพมากขึ้น แต่ Regular Expression กลับไม่ได้รับความนิยมมากนักในช่วงแรกเนื่องจากมองว่ามันเขียนยาก การตั้งเงื่อนไขก็เยอะ ซับซ้อน ซึ่งเอาเข้าจริงไม่เป็นแบบนั้นเลย Regular Expression มีชุดคำสั่งง่ายมาก ไปดูตัวอย่างโค้ดจะเห็นเลยว่า หากเราต้องการสร้าง Regular Expression เพื่อตรวจสอบจากรหัสบัตรนักศึกษา ใช้ชุดคำสั่งหลักเพียงแค่ 3 บรรทัดเท่านั้นก็เสร็จแล้ว หากเป็นชุดคำสั่งอื่นอาจจะต้องลากยาวไปมากกว่า 5 บรรทัดก็เป็นได้ ดังนั้นใครที่ยังไม่เคยใช้ Regular Expression เราขอแนะนำว่าให้ลองฝึกฝนเขียนชุดคำสั่งนี้ จะดูจากตัวอย่างจากอินเตอร์เน็ตก็ได้ฝึกฝนตามเอา รับรองว่าใช้เป็นแล้วจะต้องพูดว่า รู้งี้ใช้ตั้งแต่แรกก็ดี