Regular Expression เป็นเครื่องมือสำหรับค้นหาข้อความ เช่นต้องการค้นหาคำว่า หมู หมา แมว ในข้อความ เป็นต้น มันก็เหมือนกับคำสั่งค้นหาข้อความทั่วๆไปของ PHP นั่นแหละ จำพวก strstr() , strpos() คาดว่าทุกท่านน่าจะเคยใช้

ทีนี้ถ้าในกรณีที่ต้องการหาคำผิด (คำถูกคือคำว่าหมา) ซึ่งยูสเซ่อๆ อาจจะเขียนมาเป็น หนา,หมาา,หมาน อาจจะเป็นไปได้ทั้ง 3 ตัว ท่านก็จะใช้ฟังก์ชั่นค้นหาแบบเดิมไม่ได้ละ

Regular Expression มันมาแก้ปัญหาตรงนี้แหละ คือในการค้นหามันสามารถใส่ความเป็นไปได้หรือความไม่แน่ใจเข้าไปได้ด้วย

จากกรณีด้านบนที่เราต้องการหาคำผิด เราเขียนสั่ง Regular Expression ได้ดังนี้

หนา|หมาา|หมาน

ให้หาคำว่า หนาหรือหมาาหรือหมาน ถ้าเจอก็จะเอ๋ ยูสเซ่อๆของเรา เซ่อแล้ว เห็นมั้ยครับว่า Regular Expression นั้นมันใส่ความไม่แน่ใจเข้าไปได้ด้วย

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

^หมา$

ถ้าเป็นเบอร์โทรล่ะ เบอร์โทรมันก็ต้องขึ้นต้นด้วยตัวเลข0-9 สามตัวแล้วมีขีดต่อด้วยเลขอีกสามตัวแล้วก็ขีดแล้วก็ลงท้ายด้วยตัวเลขอีก3 ตัว

^[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9]$

เครื่องหมาย[] เป็นการบ่งบอกว่าอาจจะเป็นตัวใดตัวหนึ่งที่อยู่ภายในก็ได้

ค่อยมาต่อตอนสอง งานเข้าละ