Regex Tester
ทดสอบและสร้าง Regex ออนไลน์
พิมพ์ pattern หรือให้ตัวช่วย Generator สร้างให้ — แล้วทดสอบกับข้อความจริงแบบเรียลไทม์ ไฮไลท์ผลลัพธ์ แยก groups ลอง Replace / Split ได้ทันที
ต่อหลายบล็อกได้ เช่น \d{3} + - + \d{4} → สร้าง \d{3}-\d{4}
ทิป: เปิด u เมื่อใช้ \p{Script=Thai} — ระบบจะเปิดให้อัตโนมัติเมื่อเลือกภาษาไทย
const regex = /pattern/g; const matches = [...text.matchAll(regex)];
? สูตร Regex ฉบับย่อ — กดดู
^ เริ่ม · $ จบ · \b ขอบคำ · [abc] กลุ่ม · [^abc] ไม่ใช่
*? +? ขี้เกียจ (lazy) · (?:...) ไม่จำกลุ่ม · (?<name>...) named
$<name> named group · $$ แทน $ จริง
รันด้วย new RegExp(pattern, flags) บนเบราว์เซอร์คุณเท่านั้น — ทางลัด: ⌘/Ctrl+Enter โฟกัสผลลัพธ์ · Ctrl+K ล้าง
Generator สร้างให้
เลือกเทมเพลตหรือต่อบล็อก \d, \w, ภาษาไทย เอง — ระบบประกอบ pattern ให้พร้อมเปิด flag u อัตโนมัติเมื่อต้องใช้ Unicode
ทดสอบเรียลไทม์
พิมพ์แล้วไฮไลท์ทันที — นับแมตช์ บอก index ทุกจุด แยก capture groups แบบ numbered และ named (?<name>) ให้เห็นก่อนคัดลอก
ปลอดภัย ไม่ส่งออก
รันด้วย JS บนเครื่องคุณเท่านั้น ไม่ส่ง pattern หรือข้อความไปเซิร์ฟเวอร์ — คัดลอกโค้ด JS/Python และแชร์ลิงก์ผ่าน hash ได้อย่างปลอดภัย
คำถามที่พบบ่อย
Regex คืออะไร ใช้ทำอะไรได้บ้าง? +
Regular Expression (regex/regexp) คือภาษาค้นหาแพทเทิร์นในข้อความ — ใช้ตรวจสอบอีเมล เบอร์โทร ดึง URL แยกวันที่ แทนที่ข้อความจำนวนมาก หรือตัดข้อความ (split) ได้ในบรรทัดเดียว แทนการเขียนโค้ดวนลูปหลายบรรทัด เครื่องมือ Generator นี้ช่วยให้คุณสร้าง pattern โดยไม่ต้องจำ syntax ทั้งหมด แล้วทดสอบกับข้อความจริงทันที
Generator สร้าง Regex ยังไง ต่างจากพิมพ์เองอย่างไร? +
กด “ตัวช่วยสร้าง Regex” ด้านบน — เลือกเทมเพลตสำเร็จรูป (อีเมล/URL/เบอร์ไทย/IPv4 ฯลฯ) หรือต่อบล็อกเองทีละส่วน เช่น \d{3} + - + \d{4} ระบบจะประกอบเป็น \d{3}-\d{4} ให้อัตโนมัติ แล้วกด “ใช้ Pattern นี้ทดสอบ” เพื่อดูไฮไลท์ทันที — ไม่ต้องพิมพ์ escape เอง
Flag g, i, m, s, u, y ต่างกันอย่างไร? +
g = หาทุกจุด (ไม่มี g จะเจอแค่จุดแรก) · i = ไม่สนตัวพิมพ์เล็กใหญ่ · m = ^/$ นับต่อบรรทัด (multiline) · s = ให้ . แมตช์ขึ้นบรรทัดใหม่ด้วย (dotAll) · u = รองรับ Unicode/emoji และ \p{...} · y = sticky แมตช์ต่อจาก lastIndex เท่านั้น — ลองกดเปิด/ปิด flag ด้านบนแล้วดูจำนวนแมตช์เปลี่ยนทันที
Capture group และ named group (?<name>) ดูอย่างไร? +
วงเล็บ ( ... ) คือ capture group — ผลลัพธ์แต่ละแมตช์จะมี $1, $2 ตามลำดับวงเล็บ หากตั้งชื่อ (?<year>\d{4}) จะได้ $<year> ด้วย ดูได้ในตาราง Matches ด้านล่าง — โหมด Replace ก็ใช้ $1 / $<name> แทนค่าได้ทันที
ขึ้น “Invalid regular expression” แก้อย่างไร? +
มักเกิดจากวงเล็บไม่ปิด, escape ไม่ครบ (เช่น \ ตัวเดียว), หรือใช้ lookbehind ที่เบราว์เซอร์บางรุ่นยังไม่รองรับ — ดูข้อความสีแดงใต้ช่อง pattern จะบอกตำแหน่งผิดพลาด ให้ลองลบส่วนที่เพิ่มล่าสุดแล้วทดสอบทีละส่วน หรือกดตัวอย่างที่ให้มาเพื่อเทียบรูปแบบที่ถูกต้อง
ข้อมูลที่วางทดสอบจะถูกส่งไปที่ไหนไหม? +
ไม่ส่ง — การแมตช์ทั้งหมดรันด้วย new RegExp บนเบราว์เซอร์ของคุณเท่านั้น ไม่มี API ภายนอก ปิดแท็บข้อมูลก็หายทันที ลิงก์แชร์ที่คัดลอกจะใส่ pattern/flags/test string ไว้ใน URL (hash) เพื่อเปิดใหม่ได้ แต่ไม่มีการเก็บที่เซิร์ฟเวอร์