🔎 เครื่องมือทดสอบ Regex — การจับคู่แบบเรียลไทม์ กลุ่ม และการแทนที่
Toolio's Regex Tester เป็นเครื่องมือทดสอบนิพจน์ปกติฟรีที่ใช้ได้เฉพาะในเบราว์เซอร์เท่านั้น ซึ่งสามารถทดสอบนิพจน์ปกติได้ทันที — ไม่ต้องอัปโหลดไฟล์ ไม่ต้องสร้างบัญชี และสามารถใช้งานได้ทั้งหมดแบบออฟไลน์
นิพจน์ปกติ (regex) เป็นรูปแบบสำหรับค้นหาและจับคู่ข้อความ; ตัวตรวจสอบ regex แสดงว่ารูปแบบนั้นจับคู่กับข้อมูลตัวอย่างได้อย่างไร
ออกแบบมาเพื่อความเป็นส่วนตัว. เครื่องมือนี้ทำงานทั้งหมดในเบราว์เซอร์ของคุณ — ข้อมูลที่คุณป้อนไม่ได้ถูกอัปโหลดหรือเก็บไว้ และยังสามารถใช้งานได้โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต
เกี่ยวกับ
ป้อนรูปแบบนิพจน์ปกติและสตริงทดสอบเพื่อดูการจับคู่ทั้งหมดที่ถูกไฮไลต์แบบเรียลไทม์ กลุ่มการจับจากผลการจับคู่ครั้งแรกจะถูกแสดงพร้อมกับ $1, $2 … ซึ่งเป็นการอ้างอิง และการดูตัวอย่างการแทนที่จะแสดงให้เห็นว่าสตริงการแทนที่ของคุณเปลี่ยนข้อมูลนำเข้าได้อย่างไร แฟล็ก — g, i, m, s, u — สามารถเปิด/ปิดได้ผ่านช่องถูกติ๊กเพื่อไม่จำเป็นต้องจำรูปแบบเสมอไป เนื่องจากทุกอย่างทำงานในเบราว์เซอร์โดยไม่มีเซิร์ฟเวอร์เกี่ยวข้อง รูปแบบและข้อความของคุณจึงจะปลอดภัยและเป็นความลับอย่างสมบูรณ์
วิธีใช้งาน
- พิมพ์นิพจน์ปกติของคุณในช่อง Pattern
- เลือกแฟล็กที่คุณต้องการ (g สำหรับการค้นหาทั้งหมด, i สำหรับการไม่คำนึงถึงตัวพิมพ์ใหญ่/เล็ก, m สำหรับการค้นหาหลายบรรทัด, ฯลฯ)
- วางหรือพิมพ์สตริงทดสอบของคุณในพื้นที่ Test String — การจับคู่จะถูกไฮไลต์ทันที
- ตรวจสอบแผง Capture Groups เพื่อดูค่า $1, $2 … จากผลการจับคู่ครั้งแรก
- พิมพ์สตริงการแทนที่ในช่อง Replace เพื่อดูผลลัพธ์ล่วงหน้า แล้วคัดลอกมัน
คำถามที่พบบ่อย
- เครื่องมือทดสอบนิพจน์นี้ฟรีหรือไม่?
- ใช่ ฟรีทั้งหมด — ไม่ต้องสร้างบัญชี ไม่ต้องสมัครสมาชิก ไม่มีข้อจำกัดในการใช้งาน
- มันอัปโหลดรูปแบบหรือข้อความของฉันไปยังเซิร์ฟเวอร์หรือไม่?
- ไม่ใช่ ทุกอย่างทำงานในเบราว์เซอร์ของคุณโดยตรงโดยใช้เครื่องมือ JavaScript RegExp ไม่มีข้อมูลใดถูกส่งไปยังเซิร์ฟเวอร์
- มันทำงานได้เมื่อไม่มีการเชื่อมต่ออินเทอร์เน็ตหรือไม่?
- ได้ เมื่อหน้าเว็บโหลดเสร็จแล้วคุณสามารถตัดการเชื่อมต่ออินเทอร์เน็ตและมันยังคงทำงานได้ เครื่องมือนี้ยังเป็น PWA ดังนั้นคุณสามารถติดตั้งได้เพื่อใช้งานแบบออฟไลน์
- เครื่องมือนี้รองรับฟลักส์ (flags) ของ regex แบบใด?
- เครื่องมือนี้รองรับ g (global), i (case-insensitive), m (multiline), s (dotAll), และ u (unicode) — ซึ่งเป็นฟลักส์มาตรฐานของ JavaScript RegExp ทั้งหมด
- ฉันสามารถใช้กลุ่มการจับ (capture groups) ในสตริงการแทนที่ได้หรือไม่?
- ได้ ใช้ $1, $2, … ในช่องการแทนที่เพื่ออ้างอิงกลุ่มการจับจากรูปแบบของคุณ — เช่นเดียวกับ JavaScript's String.replace()
- ทำไมรูปแบบของฉันจึงทำงานต่างกันที่นี่เมื่อเทียบกับ Python หรือ PCRE
- เครื่องตรวจสอบนี้ใช้เครื่องมือ regex ของ JavaScript ที่อยู่ในเบราว์เซอร์ ซึ่งมีความแตกต่างจาก Python และ PCRE ในแง่ที่แท้จริง: การใช้กลุ่มที่มีชื่อใช้ไวยากรณ์ที่แตกต่างกัน ไม่มีโหมด verbose ที่มีความคิดเห็นในบรรทัดเดียวกัน และการสนับสนุน lookbehind ขึ้นอยู่กับเบราว์เซอร์ หากคุณกำลังเขียนรูปแบบสำหรับโครงการ JavaScript นี่คือเครื่องมือที่ถูกต้องที่สุด แต่สำหรับภาษาอื่น ให้พิจารณาว่ามันใกล้เคียงแต่ไม่เหมือนกันทั้งหมด
- เบราว์เซอร์ของฉันแข็งตัวเมื่อใส่ข้อมูลยาว ๆ แล้วเกิดอะไรขึ้น
- นั่นเกือบจะเป็นการย้อนกลับแบบหายนะแน่นอน รูปแบบที่มีตัวปรับปรุงซ้อนกัน เช่น (a+)+ อาจใช้เวลานานขึ้นแบบทวีคูณเมื่อข้อมูลเพิ่มขึ้น ดังนั้นสตริงที่ยาวเพียงเล็กน้อยก็สามารถทำให้เครื่องมือหยุดทำงานได้ มันเป็นคุณสมบัติของรูปแบบ ไม่ใช่เครื่องตรวจสอบ และการพบปัญหานี้ที่นี่ บนหน้าที่คุณสามารถรีเฟรชได้ง่ายกว่าการพบปัญหานี้ในระบบจริง
- เครื่องมือนี้จะอัปโหลดข้อมูลของฉันหรือไม่?
- ไม่ ทุกอย่างทำงานในเบราว์เซอร์ของคุณ ดังนั้นข้อมูลของคุณจึงไม่เคยออกจากอุปกรณ์ของคุณ — และหลังจากโหลดหน้าแล้วยังใช้งานแบบออฟไลน์ได้ด้วย