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 ได้ด้วยนะคร้าบ
คืิอผมสนใจมากครับ แต่บังเอิญผมอ่านแล้วไม่ค่อยเข้าใจ ของ wiki น่ะครับ
ตอบลบรบกวนแสดงเป็น โครตแล้วอธิบาย ในช่วง search ได้ไหมครับ
ขอบคุณมากครับ