รูปแบบโครงสร้างของ Regular Expression (Regular Expression Syntax) ของ ASP.NET
วันที่เขียน 13/1/2554 16:59:25     แก้ไขล่าสุดเมื่อ 3/6/2566 14:16:04
เปิดอ่าน: 11025 ครั้ง

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)
ไม่มีข้อมูลตามเงื่อนไขที่ท่านกำหนด
รายการบทความการแลกเปลี่ยนเรียนรู้หมวดหมู่ : วิทยาศาสตร์ เทคโนโลยี
อ. มธุรส ชัยหาญ » การเข้าร่วมประชุมและนำเสนอผลงานภาคบรรยายในการประชุมวิชาการเครือข่ายวิจัยนิเวศวิทยาป่าไม้ ครั้งที่ 12 (Thai Forest Ecological Research Network Conference, T-FERN # 12) หัวข้อเรื่อง “ธรรมชาติ ป่าไม้ และที่ดิน: การปรับตัวและการบรรเทาต่อการเปลี่ยนแปลงสภาพภูมิอากาศ” เมื่อวันที่ 9-10 กุมภาพันธุ์ 2566
คุณสมบัติในการต้านออกซิเดชันและการยับยั้งแบคทีเรียสาเหตุฟันผุของสารสกัดใบเมี่ยงธรรมชาติ Characteristics of Antioxidation and Antibacterial of Dental Caries by Natural Miang Extracts มธุรส ชัยหาญ...
ใบเมี่ยง, สารประกอบฟีนอลิก, ฤทธิ์ต้านแบคทีเรีย, กิจกรรมการต้านอนุมูลอิสระ     บทความการแลกเปลี่ยนเรียนรู้ทั่วไป   วิทยาศาสตร์ เทคโนโลยี
ผู้เขียน มธุรส ชัยหาญ  วันที่เขียน 18/4/2566 11:18:39  แก้ไขล่าสุดเมื่อ 3/6/2566 4:11:37   เปิดอ่าน 96  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
ความรู้จากการเข้าร่วมอบรม/สัมมนา/ประชุมวิชาการ » การเผยแพร่ความรู้ที่ได้จากการเข้าร่วมประชุมวิชาการระดับชาติวิจัยรำไพพรรณี ครั้งที่ 16 เนื่องในวโรกาสคล้ายวันพระราชสมภพสมเด็จพระนางเจ้ารำไพพรรณี ครบ 118 ปี เรื่อง “50 ปีมหาวิทยาลัยราชภัฏรำไพพรรณี การวิจัยเพื่อการพัฒนาภูมิปัญญาท้องถิ่น”
ตามที่คณะวิทยาศาสตร์ ได้อนุญาติให้ข้าพเจ้าเข้าร่วมการประชุมวิชาการระดับชาติวิจัยรำไพพรรณี ครั้งที่ 16 เนื่องในวโรกาสคล้ายวันพระราชสมภพสมเด็จพระนางเจ้ารำไพพรรณี ครบ 118 ปี เรื่อง “50 ปีมหาวิทยาลัยรา...
  บทความการแลกเปลี่ยนเรียนรู้ทั่วไป   วิทยาศาสตร์ เทคโนโลยี
ผู้เขียน อัจฉรา แกล้วกล้า  วันที่เขียน 26/3/2566 10:48:54  แก้ไขล่าสุดเมื่อ 2/6/2566 16:23:52   เปิดอ่าน 107  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
อ. มธุรส ชัยหาญ » การฝึกอบรมเชิงปฏิบัติการ “การจัดการขยะมูลฝอยอย่างยั่งยืน” เพื่อนำความรูปมาพัฒนางานวิจัย ภายใต้โครงการ Sustainable Solid Waste Management and Policies (SWAP) ของ The European Union ณ เมืองฮานอย ประเทศเวียดนาม
หลักสูตรอบรม การจัดการขยะมูลฝอยอย่างยั่งยืน (Sustainable solid WAste management and Policies – SWAP) จัดขึ้นระหว่างวันที่ 20-22 กรกฎาคม 2565 มีโครงสร้างการอบรมดังต่อไปนี้ บทนำเกี่ยวกับขยะมูลฝอย กา...
การจัดการขยะมูลฝอย , เทคโนโลยีการจัดการขยะ, ชนิดของขยะ, การลดปริมาณการเกิดขยะมูลฝอย     บทความการแลกเปลี่ยนเรียนรู้ทั่วไป   วิทยาศาสตร์ เทคโนโลยี
ผู้เขียน มธุรส ชัยหาญ  วันที่เขียน 5/10/2565 10:38:51  แก้ไขล่าสุดเมื่อ 2/6/2566 16:15:56   เปิดอ่าน 2553  ครั้ง | แสดงความคิดเห็น 0  ครั้ง