Regex Tester
ทดสอบการแสดงออกตามปกติกับข้อความของคุณ
- #1 @12: [email protected]
- #2 @33: [email protected]
ทำไมต้องทดสอบ regex ในเบราว์เซอร์?
เครื่องยนต์ regex แตกต่างกันเล็กน้อยระหว่างภาษา: PCRE (PHP), POSIX (grep), Perl, Python's `re`, และ regex ของ JavaScript มีชุดฟีเจอร์ที่แตกต่างกัน การทดสอบในเบราว์เซอร์ใช้เครื่องยนต์ JavaScript — ซึ่งเป็นสิ่งที่ทำงานในโค้ดฝั่งลูกค้าใน Node.js หรือในกฎการตรวจสอบ Inertia
ตัวทดสอบจะเน้นการจับคู่เมื่อคุณพิมพ์ แสดงกลุ่มจับคู่ต่อการจับคู่ และแสดงธง regex ที่ใช้งานอยู่ในขณะนั้น รูปแบบที่ไม่ดีจะแสดงข้อผิดพลาดทางไวยากรณ์อย่างชัดเจนแทนที่จะล้มเหลวอย่างเงียบๆ
กรณีการใช้งาน
- ดึงฟิลด์จากบันทึก — ดึง ID ของคำขอ, IP หรือเวลาจากบรรทัดบันทึกที่ไม่มีโครงสร้าง
- ตรวจสอบข้อมูลที่ผู้ใช้ป้อน — ตรวจสอบอีเมล รหัสไปรษณีย์ หรือหมายเลขโทรศัพท์ก่อนส่งแบบฟอร์ม
- ค้นหาและแทนที่แบบกลุ่ม — สแกนการวางโค้ดต้นฉบับหรือ markdown เพื่อเปลี่ยนชื่อรูปแบบด้วยตัวแทนกลุ่มจับคู่
- ลบข้อมูลที่ละเอียดอ่อน — ลบอีเมล, JWTs หรือหมายเลขบัตรเครดิตจากบันทึกก่อนแชร์ภาพหน้าจอ
ตัวอย่าง
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 ที่วนลูปไม่สิ้นสุดจะทำให้เบราว์เซอร์หยุดทำงานหรือไม่?
การถอยกลับที่ร้ายแรงสามารถทำให้แท็บหยุดชั่วคราว ตัวทดสอบทำงานในแท็บของคุณ ดังนั้นรูปแบบที่ไม่ดีจะส่งผลกระทบเฉพาะเครื่องมือนี้ — ปิดและเปิดใหม่หากจำเป็น
รูปแบบหรือข้อความทดสอบของฉันถูกอัปโหลดหรือไม่?
ไม่ — ทั้งสองอย่างจะอยู่ในเบราว์เซอร์ของคุณ
