ทดสอบ Regex
เขียน Regular Expression วางข้อความ แล้วดูทุกผลที่ตรงกัน ทุกกลุ่ม และผลการแทนที่ขณะที่คุณพิมพ์
ปิดผนึกไว้บนอุปกรณ์นี้
ทำงานในเบราว์เซอร์ของคุณ ไม่มีการอัปโหลดใด ๆ
ปิดผนึก
ตารางสรุป
เลือกโทเค็นเพื่อแทรกลงในนิพจน์ของคุณ
- ตัวเลข 0–9 หนึ่งตัว
- ตัวอักษร ตัวเลข หรือขีดล่าง
- ช่องว่าง แท็บ หรือการขึ้นบรรทัดใหม่
- อักขระใดก็ได้ ยกเว้นการขึ้นบรรทัดใหม่
- อักขระหนึ่งตัวจากที่ระบุไว้
- อักขระใดก็ได้ ยกเว้นที่ระบุไว้
- จุดเริ่มต้นของข้อความ (หรือบรรทัด)
- จุดสิ้นสุดของข้อความ (หรือบรรทัด)
- ขอบของคำ
- รายการก่อนหน้าศูนย์ครั้งขึ้นไป
- รายการก่อนหน้าหนึ่งครั้งขึ้นไป
- รายการก่อนหน้าจะมีหรือไม่ก็ได้
- รายการก่อนหน้า 2 ถึง 4 ครั้ง
- กลุ่มที่จับ (capture group)
- กลุ่มที่จับแบบมีชื่อ
- ด้านซ้ายหรือด้านขวา
- ตามด้วย… โดยไม่รวมส่วนนั้น
- จุดตามตัวอักษร (ใส่ \ หน้าอักขระพิเศษใดก็ได้)
ผลที่ตรงกันในข้อความ
นิพจน์ใช้เวลานานกว่าหนึ่งวินาทีจึงถูกหยุด รูปแบบที่มีการซ้ำซ้อนกัน เช่น (a+)+ อาจใช้เวลานานแบบทวีคูณกับข้อความบางแบบ ลองทำให้ส่วนที่ซ้ำเจาะจงมากขึ้น
ผลที่ตรงกัน
- ผลที่ตรงกัน
- 0
- กลุ่ม
- 0
ผลที่ตรงกันและกลุ่มของแต่ละผลจะแสดงที่นี่
แทนที่
ใช้ $1, $2… สำหรับกลุ่มแบบมีหมายเลข $<name> สำหรับกลุ่มแบบมีชื่อ และ $& สำหรับผลที่ตรงกันทั้งหมด
วิธีใช้งาน
-
เขียนนิพจน์
พิมพ์รูปแบบและเลือกแฟล็ก หากจำไวยากรณ์ไม่ได้ ตารางสรุปจะแทรกโทเค็นที่ใช้บ่อยให้
-
วางข้อความ
ผลที่ตรงกันจะถูกไฮไลต์ขณะที่คุณพิมพ์ และแต่ละผลจะแสดงพร้อมตำแหน่งและกลุ่มที่จับ
-
ลองแทนที่
ใส่ข้อความแทนที่โดยใช้ $1 หรือ $<name> เพื่อดูตัวอย่างผลการค้นหาและแทนที่ แล้วคัดลอก
คำถามที่พบบ่อย
ใช้ Regex แบบไหน
แบบของ JavaScript ตามที่เบราว์เซอร์ของคุณรันจริง รวมถึงกลุ่มแบบมีชื่อ lookbehind และ Unicode property escape อย่าง \p{L} ไวยากรณ์ส่วนใหญ่ใช้ร่วมกับ Python, PHP และ Java แต่บางฟีเจอร์ต่างกัน
ข้อความของฉันถูกส่งไปที่ใดหรือไม่
ไม่ นิพจน์ทำงานในเบราว์เซอร์ของคุณใน worker เบื้องหลังที่แยกต่างหาก รูปแบบและข้อความของคุณไม่เคยออกจากอุปกรณ์
ทำไมนิพจน์ของฉันจึงถูกหยุด
บางรูปแบบ ซึ่งมักมีการซ้ำอยู่ในการซ้ำอีกชั้น อาจลองชุดค่าผสมหลายพันล้านแบบก่อนจะล้มเหลว เรียกว่า catastrophic backtracking เครื่องมือนี้จะหยุดการรันที่นานเกินหนึ่งวินาที เพื่อไม่ให้หน้าเว็บค้าง
แฟล็ก g เปลี่ยนอะไร
หากไม่มี g จะพบและแทนที่เฉพาะผลแรกเท่านั้น หากมี g จะพบและแทนที่ทุกผลในข้อความ
จะจับคู่จุด วงเล็บ หรือเครื่องหมายคำถามตามตัวอักษรได้อย่างไร
ใส่แบ็กสแลชไว้ข้างหน้า: \. ตรงกับจุด \( ตรงกับวงเล็บ และ \? ตรงกับเครื่องหมายคำถาม ภายในวงเล็บเหลี่ยม อักขระส่วนใหญ่เป็นตัวอักษรตามจริงอยู่แล้ว