เครื่องมือนักพัฒนา · Free browser tool
ตัวทดสอบ Regex
ทดสอบและดีบักนิพจน์ปกติแบบเรียลไทม์พร้อมไฮไลต์ไวยากรณ์สด การจับกลุ่ม และการสลับแฟล็ก
Regular expression
Pattern between slashes · flags toggle on the right.
Test string
Paste the text you want to match against.
107 characters
Highlighted matches
Matching regions are marked in amber below.
Match details
3 results| # | Match | Index | $1 | $2 | $3 |
|---|---|---|---|---|---|
| 1 | hello@example.com | 14–31 | hello | example | com |
| 2 | support@quickatools.com | 35–58 | support | quickatools | com |
| 3 | alice@site.org | 92–106 | alice | site | org |
Frequently Asked Questions
แฟล็ก g, i และ m ทำอะไรจริงๆ?
แฟล็ก g (global) หาทุกแมตช์ในสตริงแทนการหยุดหลังอันแรก แฟล็ก i (ignore case) ทำให้แพทเทิร์นไม่สนตัวพิมพ์ใหญ่-เล็ก ดังนั้น /hello/i แมตช์ "Hello" และ "HELLO" แฟล็ก m (multiline) เปลี่ยนพฤติกรรมของ ^ และ $ — เมื่อเปิด m พวกมันแมตช์ต้นและท้ายของแต่ละบรรทัดแทนต้นและท้ายของสตริงทั้งหมด สลับสดในเครื่องมือนี้เพื่อเห็นความต่างทันที
ความต่างระหว่างแมตช์กับกลุ่มจับคืออะไร?
แมตช์คือสตริงย่อยเต็มที่ผ่านแพทเทิร์นของคุณ กลุ่มจับคือชิ้นส่วนของแมตช์นั้นที่คุณ "บันทึก" โดยตั้งใจด้วยการห่อส่วนของแพทเทิร์นในวงเล็บ — เช่น /(\d{4})-(\d{2})-(\d{2})/ ที่แมตช์ "2026-08-07" ให้แมตช์หนึ่งตัว ("2026-08-07") และกลุ่มจับสามกลุ่ม ($1 = "2026", $2 = "08", $3 = "07") กลุ่มจับคือสิ่งที่คุณใช้ในการแทนที่หรือเมื่อดึงฟิลด์โครงสร้างจากข้อความ
เอนจิน RegExp ของ JavaScript ต่างจากรสชาติ regex อื่นอย่างไร?
JavaScript ใช้รสชาติอิง ECMAScript ซึ่งรองรับ lookaround กลุ่มที่มีชื่อ และการ escape คุณสมบัติ Unicode (ด้วยแฟล็ก u) แต่ไม่รองรับบางฟีเจอร์ที่พบใน PCRE หรือ .NET เช่น แพทเทิร์นแบบเรียกซ้ำหรือ quantifier แบบ possessive แพทเทิร์นที่คุณทดสอบที่นี่มีพฤติกรรมตรงกับในโค้ดเบราว์เซอร์หรือ Node.js — ดังนั้นหากแพทเทิร์นทำงานในเครื่องมือนี้ มันจะทำงานแบบเดียวกันในแอปพลิเคชัน JavaScript ของคุณ
ปลอดภัยไหมที่จะทดสอบ regex กับซอร์สโค้ดจริงหรือข้อมูลละเอียดอ่อนที่นี่?
ใช่ การคอมไพล์แพทเทิร์น การแมตช์ การไฮไลต์ และการสร้างรายงานทั้งหมดทำงานในเครื่องด้วยเอนจิน RegExp ในตัวของเบราว์เซอร์ — สิ่งที่คุณวางไม่ถูกอัปโหลด ล็อก หรือส่งไปเซิร์ฟเวอร์ จึงปลอดภัยที่จะดีบักแพทเทิร์นตรวจฟอร์มสมัคร กฎแยกล็อก หรือ regex ปิดบังกับข้อความตัวอย่างจริง (แม้ละเอียดอ่อน) โดยไม่เปิดเผยข้อความนั้นต่อบริการบุคคลที่สาม
เครื่องมือที่คุณอาจต้องการด้วย
สำรวจยูทิลิตี้ฟรีบนเบราว์เซอร์อื่นๆ สำหรับผู้ขาย ครีเอเตอร์ และมืออาชีพ
- เครื่องมือนักพัฒนา
ตัวจัดรูปแบบและตรวจ JSON
จัดรูปแบบ ทำให้สวย ตรวจความถูกต้อง และย่อข้อมูล JSON ได้ทันทีพร้อมไฮไลต์ข้อผิดพลาดไวยากรณ์ในเครื่อง
ลองใช้เครื่องมือ - เครื่องมือนักพัฒนา
เข้ารหัส/ถอดรหัส Base64
เข้ารหัสข้อความเป็น Base64 หรือถอดรหัสสตริง Base64 กลับเป็นข้อความได้ทันที พร้อมรองรับ UTF-8 เต็มรูปแบบและไม่รั่วข้อมูล
ลองใช้เครื่องมือ - เครื่องมือนักพัฒนา
ตัวสร้าง UUID/GUID
สร้างโทเคน UUID v4 ที่ปลอดภัยเชิงคริปโตคุณภาพสูงได้ทันที พร้อมตัวเลือกจำนวนมากและไม่มีการติดตามเซิร์ฟเวอร์
ลองใช้เครื่องมือ
ทำไมฟีดแบ็ก Regex สดถึงชนะการดีบักแบบเดาแล้วรีโหลด
นิพจน์ปกติหนาแน่นโดยออกแบบ — การ escape ที่หาย quantifier ที่โลภ หรือแฟล็กผิดอาจแมตช์สิ่งผิด (หรือไม่แมตช์อะไรเลย) โดยเงียบๆ การดีบักด้วยการวางในโค้ดโปรดักชันแล้วรีโหลดช้าและเสี่ยง ตัวทดสอบสดที่ไฮไลต์ทุกแมตช์และแสดงแต่ละกลุ่มจับขณะที่คุณพิมพ์ย่อลูปฟีดแบ็กนั้นเหลือมิลลิวินาที เพื่อให้เห็นว่า ^, $ หรือกลุ่มซ้อนทำอะไรก่อนแพทเทิร์นจะถูกส่งออกจริง
ฟีดแบ็กนั้นยังสำคัญสำหรับกฎที่ละเอียดอ่อนด้านความปลอดภัย ตัวตรวจฟอร์มสมัคร แพทเทิร์นปิดบังล็อก และตัวกรองคอนเทนต์มักถูกทดสอบกับข้อมูลตัวอย่างจริง — อีเมล หมายเลขโทรศัพท์ หรือชิ้นส่วนอินพุตผู้ใช้ การส่งข้อความนั้นไปยังสนามเด็กเล่น regex บุคคลที่สามหมายถึงการไว้วางใจเซิร์ฟเวอร์ของพวกเขากับคอนเทนต์ที่คุณอาจไม่อยากให้ออกจากเครื่อง เครื่องมือนี้ไม่เคยอัปโหลดอะไร: การคอมไพล์แพทเทิร์น การแมตช์ การไฮไลต์ และรายงานแมตช์ทั้งหมดรันผ่านเอนจิน RegExp ในตัวของเบราว์เซอร์
เพราะเอนจินคือการใช้งาน ECMAScript ชุดเดียวกับที่เบราว์เซอร์และ Node.js ของคุณใช้ แพทเทิร์นที่ทำงานที่นี่จะมีพฤติกรรมแบบเดียวกันในแอปพลิเคชัน JavaScript ของคุณ — รวมถึงแฟล็กอย่าง g, i และ m เปลี่ยนการแมตช์อย่างไร และการนับกลุ่มจับอย่างไร ใช้แผงไฮไลต์สีอำพันเพื่อจับแมตช์ที่ไม่ได้ตั้งใจ และตารางแมตช์เพื่อยืนยันว่า $1, $2 และเพื่อนดึงฟิลด์ที่คุณคาดหวัง
ต้องการจัด JSON ตัวอย่างก่อนทดสอบกฎแยกวิเคราะห์? ใช้ตัวจัดรูปแบบและตรวจ JSON ถอดโทเคนที่เข้ารหัสก่อน? ลองเข้ารหัส/ถอดรหัส Base64 สร้าง ID ฟิกซ์เจอร์สำหรับชุดทดสอบ? ตัวสร้าง UUID/GUID ทำงานในเครื่องเช่นเดียวกับเครื่องมือนี้