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

0

Regular Expression
Created·2017-09-25 14:16
Flavor·PCRE (Legacy)

/
^(?<IPv6>(?# 6{ h16 ":" } ls32 )((?<IPv6_1_R_H16>[0-9a-f]{4,4})\:){6,6}(?<IPV6_1_R_LS32>((?<IPV6_1_R_LS32_IPV4_DEC_OCTET>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3,3}(?<IPV6_1_R_LS32_IPV4_DEC_OCTET_>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(?<IPV6_1_R_LS32_H16_1>[0-9a-f]{4,4})\:(?<IPV6_1_R_LS32_H16_2>[0-9a-f]{4,4}))|(?# "::" 5{ h16 ":" } ls32 )\:\:((?<IPV6_2_R_H16>[0-9a-f]{4,4})\:){5,5}(?<IPV6_2_R_LS32>((?<IPV6_2_R_LS32_IPV4_DEC_OCTET>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3,3}(?<IPV6_2_R_LS32_IPV4_DEC_OCTET_>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(?<IPV6_2_R_LS32_H16_1>[0-9a-f]{4,4})\:(?<IPV6_2_R_LS32_H16_2>[0-9a-f]{4,4}))|(?# [ h16 ] "::" 4{ h16 ":" } ls32 )(?<IPV6_3_L_H16>[0-9a-f]{4,4})?\:\:((?<IPV6_3_R_H16>[0-9a-f]{4,4})\:){4,4}(?<IPV6_3_R_LS32>((?<IPV6_3_R_LS32_IPV4_DEC_OCTET>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3,3}(?<IPV6_3_R_LS32_IPV4_DEC_OCTET_>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(?<IPV6_3_R_LS32_H16_1>[0-9a-f]{4,4})\:(?<IPV6_3_R_LS32_H16_2>[0-9a-f]{4,4}))|(?# [ *1{ h16 ":" } h16 ] "::" 3{ h16 ":" } ls32 )(((?<IPV6_4_L_H16_REPEAT>[0-9a-f]{4,4})\:)?(?<IPV6_4_L_H16>[0-9a-f]{4,4}))?\:\:((?<IPV6_4_R_H16>[0-9a-f]{4,4})\:){3,3}(?<IPV6_4_R_LS32>((?<IPV6_4_R_LS32_IPV4_DEC_OCTET>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3,3}(?<IPV6_4_R_LS32_IPV4_DEC_OCTET_>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(?<IPV6_4_R_LS32_H16_1>[0-9a-f]{4,4})\:(?<IPV6_4_R_LS32_H16_2>[0-9a-f]{4,4}))|(?# [ *2{ h16 ":" } h16 ] "::" 2{ h16 ":" } ls32 )(((?<IPV6_5_L_H16_REPEAT>[0-9a-f]{4,4})\:){0,2}(?<IPV6_5_L_H16>[0-9a-f]{4,4}))?\:\:((?<IPV6_5_R_H16>[0-9a-f]{4,4})\:){2,2}(?<IPV6_5_R_LS32>((?<IPV6_5_R_LS32_IPV4_DEC_OCTET>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3,3}(?<IPV6_5_R_LS32_IPV4_DEC_OCTET_>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(?<IPV6_5_R_LS32_H16_1>[0-9a-f]{4,4})\:(?<IPV6_5_R_LS32_H16_2>[0-9a-f]{4,4}))|(?# [ *3{ h16 ":" } h16 ] "::" h16 ":" ls32 )(((?<IPV6_6_L_H16_REPEAT>[0-9a-f]{4,4})\:){0,3}(?<IPV6_6_L_H16>[0-9a-f]{4,4}))?\:\:(?<IPV6_6_R_H16>[0-9a-f]{4,4})\:(?<IPV6_6_R_LS32>((?<IPV6_6_R_LS32_IPV4_DEC_OCTET>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3,3}(?<IPV6_6_R_LS32_IPV4_DEC_OCTET_>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(?<IPV6_6_R_LS32_H16_1>[0-9a-f]{4,4})\:(?<IPV6_6_R_LS32_H16_2>[0-9a-f]{4,4}))|(?# [ *4{ h16 ":" } h16 ] "::" ls32 )(((?<IPV6_7_L_H16_REPEAT>[0-9a-f]{4,4})\:){0,4}(?<IPV6_7_L_H16>[0-9a-f]{4,4}))?\:\:(?<IPV6_7_R_LS32>((?<IPV6_7_R_LS32_IPV4_DEC_OCTET>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3,3}(?<IPV6_7_R_LS32_IPV4_DEC_OCTET_>[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(?<IPV6_7_R_LS32_H16_1>[0-9a-f]{4,4})\:(?<IPV6_7_R_LS32_H16_2>[0-9a-f]{4,4}))|(?# [ *5{ h16 ":" } h16 ] "::" h16 )(((?<IPV6_8_L_H16_REPEAT>[0-9a-f]{4,4})\:){0,5}(?<IPV6_8_L_H16>[0-9a-f]{4,4}))?\:\:(?<IPV6_8_R_H16>[0-9a-f]{4,4})|(?# [ *6{ h16 ":" } h16 ] "::" )(((?<IPV6_9_L_H16_REPEAT>[0-9a-f]{4,4})\:){0,6}(?<IPV6_9_L_H16>[0-9a-f]{4,4}))?\:\:(?# End ))$
/
g
Open regex in editor

Description

no description available

Submitted by anonymous