Handytool
คำแนะนำนักพัฒนาอ่าน5นาทีอัปเดต16 มี.ค. 2569

สนามเล่น Regex ฟรี

ดีบัก JavaScript Regular Expressions ในเวลาจริง

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

ประเด็นสำคัญ

  • 01ตัวทดสอบใช้เอนจิน JavaScript RegExp ของเบราว์เซอร์ดั้งเดิม ดังนั้นผลลัพธ์จึงตรงกันว่า Node.js หรือเบราว์เซอร์สมัยใหม่จะสร้างผลลัพธ์ในการผลิต
  • 02ธง JavaScript ทั้งหกตัว (g, i, m, s, y, u) พร้อมใช้งานแยกกัน
  • 03แม่แบบการแทนที่สนับสนุน $1, $2, $& และ $$ สำหรับการแสดงตัวอย่างการแทนที่อันทรงพลัง
  • 04ไม่มีอะไรส่งไปยังเซิร์ฟเวอร์ — รูปแบบและสตริงการทดสอบอยู่ในเบราว์เซอร์ของคุณทั้งหมด

เหตุใดตัวทดสอบ Regex โปรแกรม Dedicated จึงเอาชนะ IDE ของคุณ

นิพจน์ทั่วไปนั้นมีประสิทธิภาพ แต่ยากต่อการอ่านในทันที แม้แต่นักพัฒนาที่มีประสบการณ์ก็พบกับสิ่งที่น่าประหลาดใจ: จุดที่กินเส้นใหม่ ตัวบ่งชี้โลภที่ใช้เวลาเกินไป หรือกลุ่มจับการแสดงที่ปิดลง ตัวทดสอบเฉพาะจะเอาออกรหัสโดยรอบเพื่อให้คุณสามารถวนซ้ำรูปแบบและสตริงการป้อนข้อมูลที่ครั้งเดียว

ตัวทดสอบ regex ของ Handytool ประเมินรูปแบบด้วยเอนจิน ECMAScript RegExp ของเบราว์เซอร์ดั้งเดิม ซึ่งหมายความว่าไม่มีชั้นการแปล และไม่มี mismatch รส หากตัวทดสอบกล่าวว่ามันตรงกัน รหัส JavaScript ของคุณจะตรงกันด้วย สลับธง วางสตริงตัวอย่างสดใหม่ และผลลัพธ์อัปเดตทันที — ไม่มีปุ่มเรียกใช้จำเป็น

วิธีการทดสอบรูปแบบ Regex

ขั้นตอนการทำงานทั้งหมดใช้เวลาต่ำกว่าหนึ่งนาที

  1. 01

    วางหรือพิมพ์รูปแบบของคุณ

    ป้อนนิพจน์ทั่วไปของคุณในเขตรูปแบบ ละเว้นเครื่องหมายทับโดยรอบ — ธง ตั้งแยกต่างหากแล้ว

  2. 02

    ตั้งค่าธง

    สลับ g, i, m, s, y และ u ทีละรายการ ธงทั่วโลกมักจำเป็นเกือบตลอดเวลาสำหรับกรณีการใช้งานการจับคู่หลายรายการ

  3. 03

    วางสตริงการทดสอบของคุณ

    เพิ่มข้อความที่คุณต้องการจับคู่ทับ ทุก keystroke จะเรียกใช้รูปแบบใหม่และเน้นการจับคู่ในอินพุต

  4. 04

    ตรวจสอบกลุ่มจับการแสดง

    เลื่อนรายการการจับคู่เพื่อดูตำแหน่งการจับคู่แต่ละรายการและค่าของกลุ่มจับการแสดงลำดับเลขที่

  5. 05

    แสดงตัวอย่างการแทนที่

    ป้อนแม่แบบการแทนที่โดยใช้ $1, $2 หรือ $& เพื่อดูเอาท์พุตแทนที่สด — ยอดเยี่ยมสำหรับการตรวจสอบการเรียกใช้ String.replace() ก่อนที่คุณจะเขียน

รายการตรวจสอบการดีบัก Regex อย่างรวดเร็ว

ก่อนสมมติว่ามีข้อบกพร่อง ให้ไปผ่านสิ่งเหล่านี้:

  • 01ธง global ถูกเปิดใช้งานหากคุณคาดหวังการจับคู่มากกว่าหนึ่ง?
  • 02ควรจุดจับคู่การขึ้นบรรทัด? เปิดใช้งานธง s ถ้าเป็นเช่นนั้น
  • 03คุณใช้กลุ่มลำดับเลข ($1, $2) หรือกลุ่มชื่อ (\k<name>) ในการแทนที่?
  • 04รูปแบบใช้ escapes Unicode (\p{…})? ต้องใช้ธง u
  • 05ธง sticky (y) ต้องการ lastIndex สดใหม่สำหรับการจับคู่แต่ละครั้ง?

ส่วนตัวโดยการออกแบบ

ตัวทดสอบ regex ทำให้คำขอเครือข่ายเป็นศูนย์เมื่อคุณพิมพ์ รูปแบบและสตริงการทดสอบของคุณได้รับการประมวลผลโดยเอนจิน JavaScript ของเบราว์เซอร์ทั้งหมด — พวกเขาไม่เคยแตะเซิร์ฟเวอร์ ซึ่งทำให้ปลอดภัยต่อการวางเส้นบันทึกเป็นกรรมการ payload API เดิมหรือสตริงที่ละเอียดอ่อนขณะดีบัก

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

คำถามที่พบบ่อยของตัวทดสอบ Regex

ตัวทดสอบ regex ใช้รส regex ใด

JavaScript (ECMAScript) รูปแบบได้รับการประเมินโดยเอนจิน RegExp ดั้งเดิมของเบราว์เซอร์ ตรงกับพฤติกรรม Node.js และเบราว์เซอร์สมัยใหม่อย่างแม่นยำ Lookbehinds กลุ่มชื่อ และ escapes คุณสมบัติ Unicode (\p{…} กับธง u) ทั้งหมดได้รับการสนับสนุน

รูปแบบหรือสตริงการทดสอบของฉันออกจากหน้า

ไม่ ทุกอย่างทำงานในเบราว์เซอร์ของคุณในเครื่อง — ไม่มีคำขอเครือข่ายเมื่อคุณพิมพ์รูปแบบ เปลี่ยนธง หรือแสดงตัวอย่างการแทนที่

ฉันใช้กลุ่มจับการแสดงในเขตการแทนที่อย่างไร

ใช้ $1, $2, … สำหรับกลุ่มลำดับเลข $& สำหรับการจับคู่ทั้งหมด และ $$ เพื่อแทรกเครื่องหมายดอลลาร์ตามตัวอักษร การแสดงตัวอย่างอัปเดตสดขณะที่คุณเปลี่ยนรูปแบบหรือแม่แบบ

สิ่งนี้ใช้สำหรับรูปแบบ Python หรือ PCRE

เอนจิน JavaScript ดังนั้นรูปแบบพื้นฐานส่วนใหญ่ทำหน้าที่เหมือนกัน แต่กลุ่มชื่อ Python-style (?P<name>…) และตัวบ่งชี้ที่เก็บไม่ได้ไม่สนับสนุน ใช้เท่า — (?<name>…) สำหรับกลุ่มชื่อ

เหตุใด regex ของฉันจึงไม่จับคู่ข้ามการขึ้นบรรทัด

เปิดใช้งานธง s (dot-all) หรือแทนที่ . ด้วย [\s\S] โดยไม่ต้องมัน จุดจับคู่ตัวอักษรใดๆ ยกเว้นการขึ้นบรรทัด

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

ทำงานต่อด้วยเครื่องมือสำหรับนักพัฒนา

เครื่องมือสำหรับนักพัฒนา