Regular Expressions 101

Community Patterns

1

ตรวจสอบพยัญชนะต้นตัวสะกดสระและวรรณยุกต์ไทย

Created·2026-01-22 01:36
Updated·2026-01-23 12:42
Flavor·JavaScript
ตรวจสอบพยัญชนะต้น (ต้องมี) ตรวจตัวสะกดสำหรับสระที่ต้องมี ตรวจสอบการวางสระและวรรณยุกต์ไทย หมายเหตุ การตรวจสอบตัวสะกดในภาษาไทยตรวจสอบได้ยากเพราะภาษาไทยเป็นภาษาที่เขียนติด ๆ กันไม่มีการแบ่งคำอย่างชัดเจนทำให้การอ่านภาษาไทยผู้อ่านต้องใช้ความหมายของคำในการตัดสินการอ่านแบ่งคำตามความเหมาะสมเช่นคำว่า "ตากลม" อาจอ่านเป็น "ตาก-ลม" ก็ได้ หรืออ่านเป็น "ตา-กลม"ก็ได้ ดังนั้นการเขียน Regex เพื่อทำการตรวจสอบอาจช่วยได้ระดับหนึ่ง อ่าจมีผิดบ้างถูกบ้าง แต่ก็ถือว่าเป็นเครื่องมือที่ใช้ช่วยเหลือในการตรวจสอบเพิ่มเติมได้ 80% ของความเป็นไปใด้ก็แล้วกันนะครับ หวังว่าการเขียนเพิ่มเติมส่วนนี้ จะมีประโยชน์บ้างไม่มากก็น้อย
Submitted by อธิปัตย์ ล้อวงศ์งาม

Community Library Entry

1

Regular Expression
Created·2026-05-22 05:39
Flavor·PCRE2 (PHP)

/
(?<Space>\s+)?((?<PITag><\?(?<PIType>[\w-]+)(?:\s*(?<Attrs>(?<AttrName>(?:[\w-]+:)?[\w-]+)\s*=\s*"(?<AttrValue>[^""<>]*?)")\s*)*\?>)|(?<DTDTag><!\w+?\s*.*?\[(?<DTDContent>.*?)\]>)|(?<CDATATag><!\[CDATA\[(?<CDATAContent>.*?)\]\]>)|(?<CommentTag><!--\s*(?<Comment>.*?)\s*-->)|(?<XmlCloseTag><(?<TagName>(?:[\w-]+:)?[\w-]+)(?:\s*(?<Attrs>(?<AttrName>(?:[\w-]+:)?[\w-]+)\s*=\s*"(?<AttrValue>[^""<>]*?)")\s*)*?\/>)|(?<XmlOpenTagEnd><\/(?<TagName>(?:[\w-]+:)?[\w-]+)\s*>)|(?<XmlOpenTagBegin><(?<TagName>(?:[\w-]+:)?[\w-]+)(?:\s*(?<Attrs>(?<AttrName>(?:[\w-]+:)?[\w-]+)\s*=\s*"(?<AttrValue>[^""<>]*?)")\s*)*?>)|(?<PlainText>(?<=>)(?:\s+)?(.*?)(?:\s+)?(?=<)))
/
gmsJ
Open regex in editor

Description

This regular expression is designed to tokenize XML content by identifying major XML constructs through named capture groups. It detects processing instructions (PI), DTD blocks, CDATA sections, comments, self‑closing tags, opening tags, closing tags, and plain text. It is suitable for building lightweight XML lexers or preprocessing XML before deeper parsing.

Submitted by Flithor