รูปแบบโครงสร้างของ Regular Expression (Regular Expression Syntax) ของ ASP.NET
วันที่เขียน 13/1/2554 16:59:25     แก้ไขล่าสุดเมื่อ 15/9/2569 2:42:54
เปิดอ่าน: 13308 ครั้ง

Regular Expression Syntax

     เรื่องราวของ Regular Expression นั้น มีมานานก่อนการเกิดขึ้นของ .NET เพราะมีพื้นฐานมาจากวิชา Theory of Computation ซึ่งมีการนำไปใช้ในการทำ string matching กันอย่างมาก โดยมีภาษา Perl ที่ได้รับการยกย่องว่าเป็นเทพในเรื่องนี้ และก็กลายเป็นรูปแบบที่ .NET ยืมมาใช้ด้วย (Perl5 compatible) การทำ string matching นั้น มีประโยชน์มากในการกลั้นกรอง หรือตรวจสอบข้อความที่ต้องการ

     ที่ผมใช้บ่อยๆเห็นจะเป็นการตรวจสอบ user input สำหรับ .NET แล้ว กรณีที่เป็น Web Application สามารถใช้คอนโทรลกลุ่ม validation เช่น RequiredFieldValidator, RangeValidator เป็นต้น ซึ่งหนึ่งในนั้นมีคอนโทรลที่ชื่อ RegularExpressionValidator อันมีความสามารถ ในการสกัดเอาเฉพาะข้อความที่ต้องการได้ รูปแบบสไตล์ AJAX ด้วย (เพราะเบื้องหลังใช้ความสามารถของ JavaScript) โดยต้องเขียน Regular Expression ไว้ที่ properties ชื่อ ValidationExpression ส่วนกรณีเป็น Windows Application นั้น จะใช้คลาส System.Text.RegularExpressions.Regex มาตรวจสอบเอง (ที่จริงกรณีเป็น Web Application ก็สามารถใช้คลาสนี้ตรวจสอบเองที่ฝั่งเซิร์ฟเวอร์ก็ได้)

การเขียน Regular Expression และตัวอย่างการใช้งาน

  • \ คือ สัญลักษณ์บ่งบอกอักขระพิเศษที่ต่อท้ายมัน เช่น \\ หมายถึง \, \( หมายถึง (, \n หมายถึง newline, \r หมายถึง return
  • ^ คือ สัญลักษณ์บ่งบอกว่าเป็น จุดเริ่มต้นของข้อความ (กรณีที่ใช้อ๊อบเจ็ค Regex แล้วกำหนดพร็อบเพอร์ตี้ Option เป็น MultiLine จะถือว่า \n หรือ \r คือจุดเริ่มต้นเสมอ)
  • $ คือ สัญลักษณ์ของ จุดสิ้นสุดของข้อความ ซึ่งคล้ายกับ ^ (ส่วนใหญ่สัญลักษณ์ ^ หรือ $ จะใช้กับข้อความที่มีหลายบรรทัด)
  • * คือ สัญลักษณ์ที่บ่งบอกว่า อักขระหน้ามันจะมีซ้ำกี่ครั้งก็ได้ หรือไม่มีเลยก็ได้ (หรือพูดง่ายๆ ว่าตั้งแต่ 0 ตัวขึ้นไป) ตัวอย่างเช่น ab* หมายถึง a, ab, abb, abbb, abbb... อีกตัวอย่าง (ab)*c หมายถึง c, abc, ababc, abab....c เป็นต้น
  • + คือ สัญลักษณ์ที่คล้ายๆ * แต่ต่างกันที่ + จะต้องมีอย่างน้อย 1 ตัว (หรือตั้งแต่ 1 ตัวขึ้นไป) ถ้าใช้ตัวอย่างคล้ายๆ ด้านบนเช่น ab+ หมายถึง ab, abb, abbb... อีกตัวอย่าง (ab)+c หมายถึง abc, ababc, abab.....c
  • ? คือ สัญลักษณ์ที่บ่งบอกว่า อักขระหน้ามันจะมีหรือไม่ก็ได้ แต่ถ้ามีจะมีแค่ชุดเดียว ตัวอย่างเช่น ab? หมายถึง a หรือ ab เท่านั้น อีกตัวอย่าง a(bc)? หมายถึง a หรือ abc เท่านั้น (ข้อสังเกต สัญลักษณ์จะครอบคลุมแค่อักขระหน้ามันตัวเดียวเท่านั้น เช่น ab+ แค่อักษร b ตัวเดียวเท่านั้นที่มีอย่างน้อย 1 ตัว ถ้าต้องการให้ครอบคลุมตัวอักษรที่ต้องการให้ใส่วงเล็บคลุมไว้)

ตัวอย่างการนำไปใช้จริง

  • email : รูปแบบ "\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
  • ตัวอย่างที่ valid ผ่าน เช่น ex-th3.d@thailand5-go.co.th
  • ตัวอย่างที่ valid ไม่ผ่าน เช่น ex-@gmail.

แหล่งข้อมูล

  1. Introduction to Regular Expressions
  2. Regular Expression Syntax
  3. Use Regular Expressions to Constrain Input in ASP.NET

คำสำคัญ :
กลุ่มบทความ :
หมวดหมู่ :
แชร์ :
https://erp.mju.ac.th/acticleDetail.aspx?qid=37
ความคิดเห็นทั้งหมด (0)
ไม่มีข้อมูลตามเงื่อนไขที่ท่านกำหนด
รายการบทความการแลกเปลี่ยนเรียนรู้หมวดหมู่ : วิทยาศาสตร์ เทคโนโลยี
การ KM เพื่อเผยแพร่ผลของการนำความรู้ที่ได้จากการเข้าร่วมอบรมสัมมนา » ผ้าซิ่นตีนจกพญาเมืองลองไทยโทนคราม
การบูรณาการวิทยาศาสตร์สีธรรมชาติกับภูมิปัญญาสิ่งทอเพื่อสร้างคุณค่าและอัตลักษณ์ท้องถิ่น ผ้าซิ่นตีนจกพญาเมืองลองนับเป็นหนึ่งในมรดกทางภูมิปัญญาด้านสิ่งทอที่สะท้อนอัตลักษณ์ทางวัฒนธรรมของเมืองลอง จังหว...
ผ้าซิ่นตีนจกพญาเมืองลองไทยโทนคราม หม้อห้อมย้อมธรรมชาติ พญาเมืองลอง ไทยโทนคราม     บทความการแลกเปลี่ยนเรียนรู้ทั่วไป   วิทยาศาสตร์ เทคโนโลยี
ผู้เขียน ณัฐพร จันทร์ฉาย  วันที่เขียน 12/9/2569 11:56:57  แก้ไขล่าสุดเมื่อ 14/9/2569 18:07:18   เปิดอ่าน 16  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
การ KM เพื่อเผยแพร่ผลของการนำความรู้ที่ได้จากการเข้าร่วมอบรมสัมมนา » การสร้างอัตลักษณ์ชุมชนตำบลแม่ทรายผ่านเครื่องแต่งกายพื้นถิ่นผ้าหม้อห้อมลาย “แม่ทราย”
องค์ความรู้จากโครงการนี้เกิดจากการนำ ทุนทางวัฒนธรรมของจังหวัดแพร่ คือ “ผ้าหม้อห้อม” มาผสมผสานกับ เรื่องราวและบริบททางสังคมของตำบลแม่ทราย ซึ่งเป็นชุมชนที่เกิดจากการอพยพและการตั้งถิ่นฐานของผู้คนจากหล...
หม้อห้อม บาติก แม่ทราย กาวกั้นลาย     บทความการแลกเปลี่ยนเรียนรู้ทั่วไป   วิทยาศาสตร์ เทคโนโลยี
ผู้เขียน ณัฐพร จันทร์ฉาย  วันที่เขียน 12/9/2569 11:52:52  แก้ไขล่าสุดเมื่อ 14/9/2569 16:10:42   เปิดอ่าน 12  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
การ KM เพื่อเผยแพร่ผลของการนำความรู้ที่ได้จากการเข้าร่วมอบรมสัมมนา » องค์ความรู้จากการประเมินมาตรฐานสินค้าสิ่งบ่งชี้ทางภูมิศาสตร์ (GI) ส้มโอขาวน้ำผึ้งเมืองลอง
จากการตรวจประเมินมาตรฐานสินค้าสิ่งบ่งชี้ทางภูมิศาสตร์ (GI) ของส้มโอขาวน้ำผึ้งเมืองลองจากเกษตรกรจำนวน 6 ราย ในพื้นที่อำเภอลอง จังหวัดแพร่ พบว่า ผลผลิตมีอัตลักษณ์ด้านคุณภาพที่โดดเด่น โดยเฉพาะน้ำหนักผ...
ส้มโอขาวน้ำผึ้งเมืองลอง GI ความหวาน ไม่เฝื่อนไม่ขมไม่ซ่าลิ้น     บทความการแลกเปลี่ยนเรียนรู้ทั่วไป   วิทยาศาสตร์ เทคโนโลยี
ผู้เขียน ณัฐพร จันทร์ฉาย  วันที่เขียน 12/9/2569 11:46:25  แก้ไขล่าสุดเมื่อ 14/9/2569 8:00:46   เปิดอ่าน 12  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
การ KM เพื่อเผยแพร่ผลของการนำความรู้ที่ได้จากการเข้าร่วมอบรมสัมมนา » องค์ความรู้ (KM) เรื่องกาวกั้นสีจากกลอย
องค์ความรู้เรื่องการพัฒนากาวกั้นสีจากกลอย การพัฒนากาวกั้นสีจากกลอยเป็นการนำทรัพยากรท้องถิ่นของจังหวัดแพร่มาประยุกต์ใช้ร่วมกับองค์ความรู้ทางวิทยาศาสตร์และชีวนวัตกรรม เพื่อสร้างวัสดุกั้นสีจากธรรมชาต...
หม้อหม้อบาติก กาวกลอย เอนไซม์ CCD     บทความการแลกเปลี่ยนเรียนรู้ทั่วไป   วิทยาศาสตร์ เทคโนโลยี
ผู้เขียน ณัฐพร จันทร์ฉาย  วันที่เขียน 12/9/2569 11:33:31  แก้ไขล่าสุดเมื่อ 14/9/2569 0:49:16   เปิดอ่าน 12  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
การ KM เพื่อเผยแพร่ผลของการนำความรู้ที่ได้จากการเข้าร่วมอบรมสัมมนา » ชีวนวัตกรรมการผลิตหม้อห้อมบาติก ด้วยการพัฒนากาวกั้นสีจากหัวกลอยท้องถิ่นจังหวัดเเพร่
โครงการ ชีวนวัตกรรมการผลิตหม้อห้อมบาติก ด้วยการพัฒนากาวกั้นสีจากหัวกลอยท้องถิ่นจังหวัดแพร่ มีวัตถุประสงค์เพื่อพัฒนากระบวนการผลิตผ้าหม้อห้อมให้เป็นมิตรต่อสิ่งแวดล้อม ลดการใช้สารเคมี และยกระดับคุณภาพ...
กลอย กาวกลอย บาติก บาดานา ชีวนวัตกรรม     บทความการแลกเปลี่ยนเรียนรู้ทั่วไป   วิทยาศาสตร์ เทคโนโลยี
ผู้เขียน ณัฐพร จันทร์ฉาย  วันที่เขียน 12/9/2569 11:27:39  แก้ไขล่าสุดเมื่อ 14/9/2569 22:35:47   เปิดอ่าน 13  ครั้ง | แสดงความคิดเห็น 0  ครั้ง