ข้ามไปยังเนื้อหาหลัก
FreeOnlineTools Go
ไทย
วิธี

วิธีทดสอบ Regular Expression ทีละขั้นตอน

โดย FreeOnlineTools Team · อัปเดตเมื่อ 2026-09-02

ตอบด่วน

วิธีทดสอบ regex: เปิด Regex Tester, ใส่รูปแบบในช่อง regex, ใส่ข้อความทดสอบ match จะ highlight ทันที เครื่องมือแสดงตำแหน่ง match, capture group และรองรับ flags (g, i, m, s, u) การประมวลผลเกิดในเครื่อง

การแนะนำ

Regular expression (regex) คือรูปแบบสำหรับ match search หรือ replace ข้อความ regex ทรงพลังแต่อ่านและ debug ยาก —อักขระผิดตำแหน่งเดียวเปลี่ยนความหมายได้ทั้งหมด regex tester ทำให้ทดลองกับรูปแบบ เห็น match ที่ highlight และตรวจ capture group

ทีละขั้นตอน

  1. เปิดเครื่องมือทดสอบ Regex

    ไปที่หน้าเครื่องมือทดสอบ Regex เครื่องมือนี้มีช่องสำหรับรูปแบบ regex แฟล็ก และข้อความทดสอบ

  2. ป้อนรูปแบบ regex ของคุณ

    พิมพ์รูปแบบ regex ของคุณ (โดยไม่มีเครื่องหมายทับล้อมรอบ) ตัวอย่างเช่น \d+ จับคู่ตัวเลขตั้งแต่หนึ่งหลักขึ้นไป [A-Z]\w+ จับคู่คำที่เป็นตัวพิมพ์ใหญ่ เครื่องมือจะแยกวิเคราะห์รูปแบบในขณะที่คุณพิมพ์

  3. ตั้งธง

    เลือกแฟล็ก: g (ทั่วโลก — ค้นหารายการที่ตรงกันทั้งหมด), i (ไม่คำนึงถึงขนาดตัวพิมพ์), m (หลายบรรทัด — ^ และ $ ขอบเขตการจับคู่บรรทัด), s (dotall — . จับคู่บรรทัดใหม่), u (ยูนิโค้ด) การทดสอบส่วนใหญ่ใช้ g และบางครั้ง i

  4. ป้อนข้อความทดสอบของคุณ

    วางหรือพิมพ์ข้อความที่คุณต้องการทดสอบ เครื่องมือนี้ใช้ regex และไฮไลต์รายการที่ตรงกันทั้งหมดในข้อความทันที

  5. ตรวจสอบการแข่งขันและจับกลุ่ม

    เครื่องมือจะแสดงการแข่งขันแต่ละรายการพร้อมตำแหน่งและเนื้อหา หากรูปแบบของคุณมีกลุ่มการจับ (วงเล็บ) เนื้อหาของแต่ละกลุ่มจะแสดงขึ้น ใช้สิ่งนี้เพื่อแก้ไขข้อบกพร่องว่าทำไมรูปแบบจึงตรงกัน (หรือไม่ตรงกัน) ตามที่คาดไว้

ตัวอย่าง

จับคู่รูปแบบเหมือนอีเมลทั้งหมด

ป้อนข้อมูล: Pattern: [a-z]+@[a-z]+\.[a-z]+, Flags: gi, Text: 'Contact alice@example.com or Bob@TEST.ORG'

เอาท์พุต: ตรงกัน: 'alice@example.com', 'Bob@TEST.ORG'

แยกตัวเลขด้วยกลุ่มการจับ

ป้อนข้อมูล: รูปแบบ: (\d+)-(\d+), แฟล็ก: g, ข้อความ: 'สั่งซื้อ 123-456 และ 789-012'

เอาท์พุต: คู่ที่ 1: '123-456' (กลุ่ม 1: '123', กลุ่ม 2: '456') คู่ที่ 2: '789-012' (กลุ่ม 1: '789', กลุ่ม 2: '012')

ตรวจสอบรูปแบบวันที่

ป้อนข้อมูล: Pattern: ^\d{4}-\d{2}-\d{2}$, Flags: none, Text: '2026-09-02'

เอาท์พุต: แมตช์: '2026-09-02' (แมตช์เต็มสาย)

ปัญหาทั่วไป

  • การลืมที่จะหลีกอักขระพิเศษ —อักขระเช่น ., *, +, ?, ^, $, (, ), [, ], {, }, |, \ เป็นอักขระพิเศษ ใช้ \ เพื่อหลบหนีพวกมันอย่างแท้จริง
  • การจับคู่แบบโลภกับขี้เกียจ —* และ + โลภ (จับคู่ให้มากที่สุด) เพิ่ม ? สำหรับการจับคู่แบบ Lazy Match (เช่น .*? จับคู่ให้น้อยที่สุด)
  • การย้อนรอยหายนะ (ReDoS) —บางรูปแบบที่มีตัวระบุปริมาณที่ซ้อนกันอาจใช้เวลาแบบเอ็กซ์โพเนนเชียลในอินพุตบางตัว ทดสอบด้วยอินพุตที่สมจริงและดูการหมดเวลา
  • การยึด — โดยไม่มี ^ และ $ รูปแบบจะจับคู่ที่ใดก็ได้ในสตริง ใช้ ^...$ เพื่อจับคู่สตริงทั้งหมด

เคล็ดลับ

  • เริ่มต้นด้วยรูปแบบที่เรียบง่ายและเพิ่มความซับซ้อนทีละน้อย การดีบัก regex ที่ซับซ้อนทั้งหมดในคราวเดียวนั้นยากมาก
  • ใช้กลุ่มการจับที่มีชื่อ (?<name>...) เพื่อให้อ่านง่าย ชื่อกลุ่มทำให้เจตนาชัดเจนกว่ากลุ่มที่มีหมายเลข
  • ทดสอบกับอินพุตทั้งที่ตรงกันและไม่ตรงกันเพื่อให้แน่ใจว่ารูปแบบของคุณไม่ตรงกันมากเกินไป
  • ใช้ Regex Tester ของเราเพื่อการทดสอบแบบส่วนตัวทันที รูปแบบและข้อความของคุณจะไม่มีวันหลุดออกจากเบราว์เซอร์

เครื่องมือที่เกี่ยวข้อง

คำแนะนำที่เกี่ยวข้อง

อ้างอิง