Regex Tester

ทดสอบการแสดงออกตามปกติกับข้อความของคุณ

การจับคู่ที่เน้น
2 การจับคู่

ทำไมต้องทดสอบ regex ในเบราว์เซอร์?

เครื่องยนต์ regex แตกต่างกันเล็กน้อยระหว่างภาษา: PCRE (PHP), POSIX (grep), Perl, Python's `re`, และ regex ของ JavaScript มีชุดฟีเจอร์ที่แตกต่างกัน การทดสอบในเบราว์เซอร์ใช้เครื่องยนต์ JavaScript — ซึ่งเป็นสิ่งที่ทำงานในโค้ดฝั่งลูกค้าใน Node.js หรือในกฎการตรวจสอบ Inertia

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

กรณีการใช้งาน

  • ดึงฟิลด์จากบันทึก — ดึง ID ของคำขอ, IP หรือเวลาจากบรรทัดบันทึกที่ไม่มีโครงสร้าง
  • ตรวจสอบข้อมูลที่ผู้ใช้ป้อน — ตรวจสอบอีเมล รหัสไปรษณีย์ หรือหมายเลขโทรศัพท์ก่อนส่งแบบฟอร์ม
  • ค้นหาและแทนที่แบบกลุ่ม — สแกนการวางโค้ดต้นฉบับหรือ markdown เพื่อเปลี่ยนชื่อรูปแบบด้วยตัวแทนกลุ่มจับคู่
  • ลบข้อมูลที่ละเอียดอ่อน — ลบอีเมล, JWTs หรือหมายเลขบัตรเครดิตจากบันทึกก่อนแชร์ภาพหน้าจอ

ตัวอย่าง

Extracting emails with capture groups
ข้อมูลนำเข้า
Pattern: \b([\w.]+)@([\w.]+)\.([a-z]{2,})\b
Flags: gi
Text: Contact [email protected] or [email protected]
ผลลัพธ์
Match 1: [email protected]
  Group 1: alice
  Group 2: example
  Group 3: com

Match 2: [email protected]
  Group 1: bob
  Group 2: test
  Group 3: org

คำถามที่พบบ่อย

รองรับรสชาติ regex อะไรบ้าง?

JavaScript / ECMAScript regex รองรับ lookbehind ในเบราว์เซอร์สมัยใหม่ กลุ่มที่ตั้งชื่อ (`(?<name>...)`), โหมด Unicode (`u` flag), และการจับคู่แบบติดหนึบ (`y` flag)

ทำไมรูปแบบ PCRE ของฉันถึงใช้ไม่ได้?

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

กลุ่มจับคู่ทำงานอย่างไร?

วงเล็บรอบส่วนหนึ่งของรูปแบบจะสร้างกลุ่มจับคู่ที่มีหมายเลข ภายในการจับคู่ กลุ่ม 1 คือ `(...)` แรก กลุ่ม 2 คือที่สอง เป็นต้น ใช้ `(?:...)` สำหรับกลุ่มที่ไม่จับคู่

regex ที่วนลูปไม่สิ้นสุดจะทำให้เบราว์เซอร์หยุดทำงานหรือไม่?

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

รูปแบบหรือข้อความทดสอบของฉันถูกอัปโหลดหรือไม่?

ไม่ — ทั้งสองอย่างจะอยู่ในเบราว์เซอร์ของคุณ