ถ้าท่านเคยใช้งานโปรแกรมตัดคำภาษาไทย เช่น Swatch ภายในโปรแกรมดังกล่าว
ได้ใช้ความสามารถของ Regular Expression และใช้ความรู้เกี่ยวกับไวยากรณ์ต่าง ๆ ทางภาษาไทย หรือถ้าท่านเคยใช้เว็บไซด์ http://www.google.com หรือ search engine ทั่ว ๆ ไป ท่านจะพบว่าพวกเขาเหล่านั้นนำเอาพลังของ Regular Expression มาใช้ด้วยกันทั้งนั้น
ผมกำลังเขียนเนื้อหาเกี่ยวกับ regular expression ดังนั้นกระทู้นี้ ยกให้เห็นภาพกว้าง ๆ เท่านั้นนะครับ
ถ้าพูดถึง Regular Expression จะต้องมีการกล่าวถึง Meta-Characters คือสัญลักษณ์พิเศษที่ถูกใช้ในการกำหนดลักษณะหรือรูปแบบอักษรที่ต้องการค้นหาได้แก่ | ( ) [ { ^ $ * + ? .
รายละเอียดเหล่านั้นผมขอละไว้ก่อนนะครับ (ไม่อธิบาย)!!
สมมติว่ามีข้อความดังต่อไปนี้
t = http://www.google.com/page.cgi&name=chakri...com&like=python
ถ้าต้องการตัดเอาเฉพาะ e-mail ออกจากสตริงชุดนี้ เราจะใช้ Regular Expression ดังนี้
import re
m = re.search("w+@w+.w+", t)
if m: print m.group()
ผลลัพธ์จะแสดงคำว่า
nprotech@yahoo.com
เมื่อ w+ คือข้อความภาษาอังกฤษที่ไม่รวมสัญลักษณ์ต่าง ๆ
@ คือ ให้จับอักขระ @
. คือ ให้จับอักขระ .
สตริงอะไรก็ได้ @ สตริงอะไรก็ได้ . สตริงอะไรก็ได้
รายละเอียดเกี่ยวกับ Regular Expression มีมากกว่านี้ แต่ผมขอยกตัวอย่างสั้น ๆ เพียงเท่านี้ครับ
อ้อ. ข้อดีของ RE มีมากเลยนะครับ.. โปรแกรมตัดคำ , คอมไพล์เลอร์ และอินเตอร์พรีเตอร์ ใช้ความสามารถของ Regular Expression ทั้งนั้นครับ..