วิธีทดสอบนิพจน์ปกติ (regex) ออนไลน์

· 4 นาทีในการอ่าน

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

ทำไมต้องใช้ตัวทดสอบ regex

การเขียน regex ในตัวแก้ไขของคุณหมายความว่าคุณเห็นข้อผิดพลาดเฉพาะตอนรันไทม์ ตัวทดสอบแสดง:

วิธีทดสอบ regex ออนไลน์

  1. ป้อนรูปแบบของคุณ — พิมพ์ regex ในช่องรูปแบบ เปิดใช้งานแฟล็ก (g สำหรับ global, i สำหรับไม่สนใจตัวพิมพ์, m สำหรับหลายบรรทัด) ตามต้องการ
  2. วางข้อความทดสอบของคุณ — ป้อนข้อความที่จะทดสอบ การจับคู่จะถูกไฮไลต์แบบเรียลไทม์
  3. ดูผลลัพธ์ — ดูการจับคู่ทั้งหมดพร้อมกลุ่มจับที่แสดงด้านล่าง ใช้ฟิลด์ « แทนที่ด้วย » เพื่อทดสอบการแทนที่

รูปแบบ regex ที่ควรรู้

ที่อยู่อีเมล (พื้นฐาน):

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

URL:

https?://[^\s]+

หมายเลขโทรศัพท์ (US):

\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}

วันที่ (YYYY-MM-DD):

\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])

ที่อยู่ IP (IPv4):

\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b

เคล็ดลับการเขียน regex ที่ดีกว่า

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

regex ของฉันจะทำงานในภาษาโปรแกรมอื่นหรือไม่?

ไวยากรณ์ regex ส่วนใหญ่ใช้ร่วมกันระหว่าง JavaScript, Python, Java, PHP และอื่นๆ รูปแบบพื้นฐาน (คลาสอักขระ ตัวกำหนดปริมาณ จุดยึด) ทำงานได้ทุกที่ ฟีเจอร์ขั้นสูงบางอย่างเช่น lookbehinds หรือกลุ่มที่มีชื่อแตกต่างกันไปตามภาษา

ข้อมูลทดสอบของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?

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

ฉันสามารถทดสอบการแทนที่ได้หรือไม่?

ได้ ป้อนรูปแบบการแทนที่ (โดยใช้ $1, $2 ฯลฯ สำหรับกลุ่มจับ) เพื่อดูผลลัพธ์ของการค้นหา-แทนที่แบบเรียลไทม์

ทำงานออฟไลน์ได้หรือไม่?

ได้ เมื่อโหลดหน้าแล้ว เครื่องมือทำงานทั้งหมดในเบราว์เซอร์ของคุณโดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต