วิธีใช้งาน
- พิมพ์รูปแบบระหว่างเครื่องหมายทับ หรือเริ่มจากหนึ่งในรูปแบบทั่วไป
- สลับแฟล็ก — g, i, m, s, u, y — เพื่อเปลี่ยนวิธีการจับคู่
- วางข้อความทดสอบของคุณ การจับคู่จะไฮไลต์และแสดงรายการพร้อมตำแหน่งและกลุ่มของพวกเขา
- ป้อนการแทนที่ เช่น $1 หรือ $<name> เพื่อดูตัวอย่างผลลัพธ์ของการค้นหาและแทนที่
คำอธิบายตัวเลือก
- g (global)
- ค้นหาการจับคู่ทั้งหมดแทนที่จะหยุดที่การจับคู่แรก รายการการจับคู่จะแสดงการจับคู่ทั้งหมดเสมอ g ส่งผลต่อการแทนที่
- i (ignore case)
- ตัวอักษรจับคู่โดยไม่คำนึงถึงกรณี
- m (multiline)
- ^ และ $ จับคู่ที่จุดเริ่มต้นและสิ้นสุดของแต่ละบรรทัดแทนที่จะเป็นข้อความทั้งหมด
- s (dotAll)
- . ยังจับคู่การขึ้นบรรทัดใหม่
- u (unicode)
- ปฏิบัติต่อรูปแบบเป็นจุดรหัส Unicode ซึ่งเปิดใช้งาน \p{…} escapes คุณสมบัติและการจัดการ emoji ที่ถูกต้อง
- y (sticky)
- จับคู่เฉพาะตำแหน่งที่แน่นอนที่การจับคู่ก่อนหน้าจบลง
อ้างอิงอย่างรวดเร็ว
| ไวยากรณ์ | จับคู่ |
|---|---|
\d \w \s |
ตัวเลข อักขระคำ ช่องว่าง |
[abc] [^abc] [a-z] |
หนึ่งใน ไม่มี ช่วง |
* + ? {2,5} |
0+ 1+ 0 หรือ 1 ระหว่าง 2 ถึง 5 |
*? +? |
Lazy — น้อยที่สุด |
^ $ \b |
เริ่ม สิ้นสุด ขอบเขตคำ |
(…) (?:…) (?<name>…) |
จับภาพ ไม่จับภาพ กลุ่มชื่อ |
(?=…) (?!…) (?<=…) (?<!…) |
Lookahead negative lookahead lookbehind negative lookbehind |
\p{L} \p{Script=Han} |
อักษรใดก็ได้ อักษรจีน (ด้วยแฟล็ก u) |
ตัวอย่าง
รูปแบบ (?<user>[\w.+-]+)@(?<domain>[\w-]+(?:\.[\w-]+)+) บน ada@example.com ให้ user = ada และ domain = example.com; การแทนที่ $<domain>/$<user> ให้ example.com/ada
คำถามที่พบบ่อย
ตัวทดสอบนี้ใช้ regex flavor ใด
JavaScript (ECMAScript 2024) ตามที่ใช้งานโดยเบราว์เซอร์ของคุณ ไวยากรณ์ส่วนใหญ่ใช้ร่วมกับ PCRE, Python และ Java แต่ lookbehind, named groups และ Unicode escapes แตกต่างกันเล็กน้อยระหว่างเอนจิน ดังนั้นให้ทดสอบในภาษาที่คุณจะใช้
ทำไมมันถึงบอกว่ารูปแบบหยุดลง
รูปแบบบางอย่าง เช่น (a+)+$ บนสตริงที่ยาว a ทำให้เอนจินลองจำนวนชุดค่าผสมแบบเลขชี้กำลัง — เรียกว่า catastrophic backtracking ตัวทดสอบทำงานในเธรดพื้นหลังและหยุดหลังจาก 1.5 วินาที เขียนตัวระบุปริมาณซ้อนกันใหม่หรือใช้คลาสอักขระที่เจาะจงมากขึ้น
ฉันจะใช้กลุ่มจับภาพในการแทนที่ได้อย่างไร
ใช้ $1, $2… สำหรับกลุ่มที่มีหมายเลข $<name> สำหรับกลุ่มที่มีชื่อ $& สำหรับการจับคู่ทั้งหมด และ $$ สำหรับเครื่องหมายดอลลาร์ตามตัวอักษร
ข้อความของฉันถูกส่งไปที่ไหน
ไม่มี การจับคู่ทำงานในเวิร์กเกอร์เว็บในเบราว์เซอร์ของคุณ ดังนั้นบันทึกและข้อมูลที่คุณทดสอบจะอยู่บนอุปกรณ์ของคุณ
ความเป็นส่วนตัว
เครื่องมือนี้ทำงานในเบราว์เซอร์ของคุณทั้งหมด ไฟล์และข้อความของคุณได้รับการประมวลผลบนอุปกรณ์ของคุณ และจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา