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]$ |
เครื่องหมาย[] เป็นการบ่งบอกว่าอาจจะเป็นตัวใดตัวหนึ่งที่อยู่ภายในก็ได้
ค่อยมาต่อตอนสอง งานเข้าละ
minddezign says:
29/12/2553 at 29/12/2553
ขอบคุณครับ
minddezign says:
30/12/2553 at 30/12/2553
ลืมบอกไปครับ สวัสดีีปีใหม่น่ะครับ สุขภาพแข็งแรงน่ะครับพี่ทู
สิงห์ says:
04/01/2554 at 04/01/2554
ขอบคุณครับ และสวัสดีปีใหม่ครับ ปีใหม่นี้ขอให้พี่ปลาทู เขียนเพิ่มเป็นวันละ ๒ บทความก็แล้วกันนะครับ จะได้อ่านอย่างจุใจ หุหุหุ
แวะมา says:
24/02/2554 at 24/02/2554
^[0-9]{3}-[0-9]{3}-[0-9]{3}$ เขียนให้สั้นลงไปอีกนิดหน่อยคับ