
จริงๆผมเชื่อว่าทุกคนรู้จัก Regular Expression อยู่แล้วละ เพราะมันมีอยู่ในทุกๆภาษาเลยอาจจะแตกต่างกันบ้างเล็กน้อยก็เท่านั้น ซึ่งเจ้า Regular Expression เนี่ยจริงๆมันคือ กลุ่มคํา หรือ รูปแบบที่ใช่ในการค้นหาข้อความหรือตัวอักษรต่างๆว่าตรงตามเงื่อนไขหรือไม่
อย่างที่ Robot Framework ใช้ก็คือ Python RE (ตัวย่อของ regular expression) เพราะ อย่างที่รู้กัน Robot Framework สรา้งบนพื้นฐานของ Python นั้นเอง
Regular Expression พื้นฐาน
อยากจะบอกว่าพื้นฐานของ Regular Expression ไม่มีอะไรเลยครับ ขอให้เข้าใจก็แค่นั้นเอง เพราะมันจะเป็น common sense มากๆในการใช้ Regular Expression โดยทําแค่ ดูว่ารูปแบบหรือ Pattern ของ String ที่เราต้องการจะหาคือแบบไหน? แล้วก็มาดูว่า Regualr Expression เขียนยังไง
ถ้าเราจําไม่ได้หมดว่ามันใช้งานยังไง ซึ่งผมเองก็จําไม่หมด จะใช้วิธีใช้ Tools 2 ตัวนี้เข้ามาจัดการ
ดูตัวอย่างดีกว่าจาก steps การใช้งานดีกว่า จะได้เข้าใจง่ายขึ้น
Steps ของการใช้ Regular Expression คืออะไร?
สมมุติว่าสถานการณ์ว่า เราจะได้ชุดข้อความมาก้อนใหญ่ๆก้อนนึง แล้วเราต้องการหาเบอร์โทรศัพท์ที่อยู่ในข้อความนั้นน่ะ
- เริ่มแรกดู pattern ของตัวอักษรที่เราต้องการจะใช้งาน เช่น “Hello World!, I’m Mart. My Number is 123-456-7890”
- copy ข้อความชุดใหญ่ๆที่เราต้องการหาเนี่ยไปใส่ใน Tools ตัวใดตัวนึงที่อยู่ข้างบนเลย (Rebular ทีเถอะ ชอบ)
- แล้วเริ่มไล่ดูว่า Pattern เบอร์โทรศัพท์ที่เขียนไว้คืออะไร? แล้วจะเห็นว่ามันประกอบด้วย ตัวเลข3ตัว แล้วก็เว้นวรรคทีนึง หลังจากนั้นก็ ตัวเลข 3 ตัวอีกชุด ตามด้วยเครื่องหมาย “-” และจบด้วย ตัวเลข 4 ตัว
- เทคนิคต่อไปก็แค่มาดูตาม References Guide ว่าต้องเขียนไรบ้าง
example-regex-quick-reference เห็นที่วงไม๊? มันก็คือแค่เขียนตามที่เราเห็นเลย \d ตัวเลข 3 ตัว \d{3} เราเอา2อันมาประกอบกันแค่นั้นแหละ ส่วนตัวไหนเป็น static แบบเครื่องหมาย – ก็ใส่ไปตรงๆเลย Regex จะมองว่าให้หาตัวนี้โดยเฉพาะเลยละ
- ผลลัพธ์ก็จะออกมาตามรูปข้างล่างนี้
result-regular-expression เห็นไม๊? ไม่ยากเลยกับการใช้ Regular Expression ถ้าเรามี Tools ดีๆซักตัวก็จบล่ะ
Regular Expression กับ Robot Framework
พูดมาตั้งนานแล้ว Regex กับ Robot Framework ใช้งานยังไง ก่อนอื่นรู้หรือไม่ว่า Robot Framework น่ะมี Standard Libraries เยอะมากกกกก ดูตัวเต็มที่นี้

จริงๆถ้าจากที่ไล่อ่านดูทั้งสอง Libraies น่ะมันมี Regex เหมือนกัน แต่จุดมุ่งหมายแตกต่างกัน
- String น่ะมันตั้งใจเพื่อให้ใช้ในการ Manipulation เป็นซะส่วนใหญ่ เช่น Replace, Split เป็นต้น
- Built In ตั้งใจเป็น Standard Library เน้นพวกการนํามา Verification หรือ Set ค่าต่างๆ
แต่ส่วนใหญ่ที่เวลาเราใช้งานจริงๆก็คือตัวนี้นี่แหละ “Should Match Regexp”

Keyword ตัวนี้เลยที่เราใช้ Regex ในการเทียบข้อมูลต่างๆ ตาม Steps ข้างบนที่เขียนว่า หลังจากเราทําตาม Steps ข้างบนเสร็จก็เอามาใส่ใน Keyword นี้เพื่อ compare …. แค่นี้แหละจบเลยอะ!

สรุปละ
Regex ง่ายนิดเดียว เพียงแค่มีเครื่องมือดีๆกับ References ดีๆ แค่นั้นเราก็เอามาประยุกต์ใช้กับ Robot Framework ได้ง่ายๆสบายเลย ในการตรวจสอบข้อความด้วย Regex แบบนี้อ่ะ 🙂