วันเสาร์ที่ 20 มิถุนายน พ.ศ. 2552

Regular Expression

Share it Please
regular expression โดยส่วนตัวแล้วผมชอบมากเพราะเป็น pattern ที่น่าสนใจ ใช้กันทั่วบ้านทั่วเมือง และสะดวกสบายมากครับ ซึ่งอธิบายคร่าวๆได้ดังนี้

http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html

ซึ่งจุดที่น่าสนใจคือ greedy และ lazy เพราะบางคนอาจจะไม่เข้าใจเพราะใน Pattern ของ Java อธิบายไม่ค่อยดีนักแต่ถ้าเราลองมาแปลมันดู

greedy = โลภ = เอา pattern ที่ยาวที่สุด
lazy = ขึ้เกียจ = เจอก็จบ

ถ้าแปลตรงๆ ก็่จะทำให้เข้าใจได้มากขึ้น ดังตัวอย่าง

input = "example@google.com tutorial@google.com";

ถ้าเรามี input ดังนี้แล้วเราใช้ pattern = ".*@" ผลลัพธ์คือ

greedy = "example@google.com tutorial@google.com";
lazy = "example@google.com tutorial@google.com";

หรือถ้าใครอยากเข้าใจมากให้แนะนำให้อ่าน

http://en.wikipedia.org/wiki/Regular_expression

อ่อ และส่วนที่ผมคิดว่าดีที่สุดใน regular expression นั้นคือ back reference ครับ หมายถึงเราสามารถนำข้อความที่เรา search ไปใช้ได้ครับโดยใช้ () ครอบในส่วนที่เราจะนำไปใช้และใช้ $number ในการแสดงผลครับ

ปล. split ใน Java รับ Input เป็น regex ได้ด้วยนะคร้าบ

Blogroll

About