Regular Expressions 101

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

0

Regular Expression
Created·2022-05-18 14:45
Flavor·PCRE2 (PHP)

/
([\w$]*[\w\d$]*?(\(\)|\(\g<0>\))?\.?)*
/
g
Open regex in editor

Description

Regex that allows the following:

foo(bar).qax(foo(bar).qax(foo(bar).qax(foo(bar).qax())))

Its sorta hard to make out whats going on, so I will just say it:

The function foo(bar).qax() is nested in itself recursively, like so foo(bar).qax(foo(bar).qax()) Which this regex permits. It also allows no digit as the first character and accepts underscores and dollarsigns in the syntax name. Can be used for objects w/ non-function property-members as well.

For example:

obj.foo.bar

hello.world.hello.world
a.b.c.d.e(a.b.c.d.e)
a.b.c.d.e(a.b.c.d.e(a.b.c.d.e(a.b.c.d.e())))
A(B(C().DEF()).ABC())

All the above will match

Submitted by jD3V