Community Patterns

1

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

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

Community Library Entry

1

Regular Expression
Created·2025-02-06 19:30
Updated·2025-02-06 22:53
Flavor·PCRE2 (PHP)

/
^(?<given_name>(?:[^.,!?;:\s]+\s)*?(?:[^.,!?;:\s]+))(?:\s(?:(?<middle_initial>[^.,!?;:\s])(?:\.\s|\.)?)??(?<family_name>(?:(?:(?:(?:a|ab|af|ap|abu|aït|al|ālam|at|ath|aust|austre|bar|bath|bat|ben|bin|ibn|bet|bint|da|das|de la|degli|del|dele|della|der|di|dos|du|e|el|fetch|vetch|fitz|i|ka|kil|gil|la|le|lille|lu|m'|mac|mc|mck|mhic|mic|mala|mellom|myljom|na||ned|nedre|neder|ngā|nic||nin|nord|norr|ny|o|ó|ua||opp|upp|öfver|ost|öst|öster|øst|østre|över|øvste|øvre|øver|öz|pour|putra|putera|putri|puteri|setia|setya|stor|söder|sør|sønder|syd|søndre|syndre|søre|te|ter|ter|tre|van|van de|van den|van der|van het|van 't|väst|väster|verch|erch|vest|vestre|vesle|vetle|von|war|zu|von und zu)\s)?[^.,!?;:\s]+)-)?(?:(?:a|ab|af|ap|abu|aït|al|ālam|at|ath|aust|austre|bar|bath|bat|ben|bin|ibn|bet|bint|da|das|de la|degli|del|dele|della|der|di|dos|du|e|el|fetch|vetch|fitz|i|ka|kil|gil|la|le|lille|lu|m'|mac|mc|mck|mhic|mic|mala|mellom|myljom|na||ned|nedre|neder|ngā|nic||nin|nord|norr|ny|o|ó|ua||opp|upp|öfver|ost|öst|öster|øst|østre|över|øvste|øvre|øver|öz|pour|putra|putera|putri|puteri|setia|setya|stor|söder|sør|sønder|syd|søndre|syndre|søre|te|ter|ter|tre|van|van de|van den|van der|van het|van 't|väst|väster|verch|erch|vest|vestre|vesle|vetle|von|war|zu|von und zu)\s)?[^.,!?;:\s]+)??(?:,?\s(?<suffix>Sr\.?|Snr|Jr\.?|Jnr|[IVX]+))?)?$
/
gmi
Open regex in editor

Description

Full name splitter for decomposing names into individual parts. Handles honorifics, given name, first name, middle names, last/family name, generational suffixes, and a capture for post nominal information. See gist for more info

Submitted by johnrcui