Regular Expression ขั้นพื้นฐาน ใน .NET (2010-03-02)
Regular Expression ใน .NET (REF : http://www.9neung.com/index.php/2009/regular-expression-c-net/)
เห็นว่ามีประโยชน์ดีเรยนำมาฝากครับ อ่านเข้าใจง่ายมาก ขอบคุณเจ้าของบทความ เดี๋ยวผมจะเขียน class สำหรับเช็ค RegEx นะครับ รอสักแป๊บ คอยติดตามกระทู้นี้นะครับ
โดยสัญลักษณ์ของ Regular expression พื้นฐาน เราจะสรุปได้ดังนี้
^
หมายถึงข้อความที่ขึ้นต้นจะต้องเป็นคำที่ขึ้นต้นด้วย คำหรืออักษรที่อยู่หลังสัญลักษณ์นี้
เช่น "^My" = MyCom หรือ MyHome
$
หมายถึง ข้อความต้องปิดท้ายด้วย คำหรืออักษรที่อยู่หลังสัญลักษณ์นี้
เช่น "Home$" = ThisIsHome หรือ IloveHome
+
หมายถึง ข้อความต้องมีคำหรืออักษรที่อยู่หน้าเครื่องหมายนี้อย่างนี้ 1 ตัว
เช่น "H+" = Home หรือ HHH
?
หมายถึงคำหรืออักษรที่อยู่หน้าเครื่องหมายนี้ อาจะมีปรากฏในคำที่นำมาตรวจสอบ หรือไม่ก็ได้ ถ้ามีจะมีกี่ตัวก็ได้
*
เหมือนกับ ?
\s
หมายถึง whitespace หรือช่องว่าง หรือ tab
.
หมายถึงตัวอักษรอะไรก็ได้
[ ]
หมายถึงใช้ระบุตำแหน่งในคำว่า ในตำแหน่งนี้จะมีตัวอักษรอะไรได้บ้าง เช่น
"[AB]" เป็นการกำหนดว่า คำที่นำมาตรวจสอบ ต้องเป็นตัว A หรือ ตัว B เท่านั้นจึงจะผ่าน มีความหมายเช่นเดียวกับ "A|B"
"[A-D]" เป็นการบอกว่า คำที่นำมาจะต้องเป็น ตัวA B C D เท่านั้น เช่น ในกรณีเลขประจำตัวที่ขึ้นต้นด้วย A B C หรือ D เท่านั้น ถ้าพิมพ์ตัวแรกเป็นตัวอักษรตัวอื่นก็แสดงว่าพิมพ์ผิด เราจะเขียนได้ดังนี้ ^[A-D]
"^[a-zA-Z]" เป็นการบอกว่า คำที่นำมาตรวจสอบต้องขึ้นต้นด้วยตัวอักษร จะเป็นตัวเล็ก คือ a ถึง z หรือ ตัวใหญ่ คือ A ถึง Z ก็ได้
"[0-9]%" เป็นการบอกว่า ให้มีตัวเลข 1 ตัว เลขอะไรก็ได้ เลข 0 ถึง เลข 9 ต่อด้วยเครื่องหมาย %
[A-Z] ตัวอักษร A ถึง Z
[A-Z0-9] ตัวอักษร A ถึง Z และ เลข 0-9
{ }
ใช้แสดงจำนวนครั้งที่ซ้ำกัน เช่น
"AB{2}" หมายถึงให้มีตัว B จำนวน 2 ตัว เช่น "AB"
"AB{2,} หมายถึงให้มีตัว B อย่างน้อย 2 ตัว เช่น "ABBBB"
"AB{3,5} หมายถึงให้มีตัว B จำนวน 3-5 ตัวเท่านั้น คือ "ABBB" "ABBBB" และ "ABBBBB"
( )
ใช้รวมกลุ่มเข้าด้วยกันเป็นส่วนเดียวกัน เช่น
"A(BC)*" หมายถึง ตัว A และอาจจะตามด้วยตัว BC หรือไม่มีตัว BC ก็ได้ เครื่องหมาย * แสดงว่าจะมีหรือไม่ก็ได้
"A(BC){1,5}" หมายถึง ตัว A แล้วจะตามด้วย BC จำนวน 1-5 ชุด เช่น "ABCBCBC" หรือ "ABCBC" ก็ได้
|
จะเสนอทางเลือกอย่างใดอย่างหนึ่ง เช่น
"ABC|DEF" เป็นการบอกว่า จะใช้คำว่า ABC หรือ DEF ก็ได้
"(A|BC)DE" เช่น ADE หรือ BCDE ก็ได้
ข้อมูลเพิ่มเติม http://www.regular-expressions.info/
แนะนำโปรแกรมสำหรับเช็ค Regular Expression
RegexDesigner : http://www.sellsbrothers.com/tools/default.aspx#regexd
|