ข้ามไปที่เนื้อหา

ทดสอบ Regex

ทดสอบนิพจน์ทั่วไป JavaScript ในเครื่องด้วยแฟล็ก g/i/m/s/u/y จำนวนการจับคู่ การจับภาพและกลุ่มที่ตั้งชื่อ ช่วงบรรทัด-คอลัมน์ และการแสดงตัวอย่างการแทนที่แบบเนทีฟ

/

/g

0 รายการที่ตรงกัน0 กลุ่มจับค่า0 กลุ่มที่มีชื่อ

ข้อความทดสอบ

อักขระ

0 / 50,000

ผลการจับคู่

ป้อนรูปแบบเพื่อเริ่มการจับคู่

ข้อความแทนที่

อักขระ

0 / 50,000

ดูตัวอย่างการทดแทน

ทดสอบ Regex

เริ่มต้นอย่างรวดเร็ว

1
ป้อนรูปแบบ regex ที่ด้านบน เลือกแฟล็ก (g/i/m/s/u/y) วางข้อความทดสอบทางด้านซ้าย ซึ่งรายการที่ตรงกันจะปรากฏทางด้านขวาแบบเรียลไทม์
2
กลุ่มการจับภาพ (...) และกลุ่มที่มีชื่อ (?<name>...) จะถูกขยายภายใต้แต่ละการจับคู่ที่แสดงค่าที่บันทึกไว้
3
ป้อนเทมเพลตการแทนที่ ($1, $2, $<name>) และ "ตัวอย่างการแทนที่" ทางด้านขวาจะแสดงผลลัพธ์ทันที

สถานการณ์การใช้งานทั่วไป

การดึงข้อมูล

ใช้ (\d{4}-\d{2}-\d{2}) เพื่อดึงวันที่ และใช้ ([\w.]+@[\w.]+) เพื่อดึงอีเมล

การตรวจสอบรูปแบบ

เขียน regex วางตัวอย่างหลายชุด แล้วตรวจอย่างรวดเร็วว่าแพตเทิร์นตรงกับรูปแบบเป้าหมายอย่างแม่นยำหรือไม่

การแทนที่แบบชุด

ใช้ capture groups เพื่อจัดโครงสร้างเนื้อหาใหม่ เช่น เปลี่ยน "ชื่อ นามสกุล" เป็น "นามสกุล, ชื่อ" ด้วยแพตเทิร์น (\S+)\s+(\S+) และคำแทนที่ $2, $1

กลุ่มที่ตั้งชื่อ

ใช้ (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) เพื่อแยกวันที่ จากนั้นใช้ $<year>/$<month>/$<day> เพื่อสร้างใหม่

การเรียนรู้ regex

ลองแพตเทิร์นหลายแบบและสังเกตพฤติกรรมการจับคู่ เพื่อทำความเข้าใจ quantifiers, anchors และ classes ของอักขระแบบเห็นภาพ

การจัดการหลายบรรทัด

เปิดใช้แฟลก m เพื่อให้ ^ และ $ จับคู่ตามแต่ละบรรทัด เหมาะกับ log, โค้ด และไฟล์ตั้งค่า

คำแนะนำการใช้งาน

การค้นหาแบบ global (g) เปิดอยู่โดยค่าเริ่มต้น; ปิดเฉพาะเมื่อคุณต้องการเฉพาะ match แรก
ในเครื่องมือนี้ ให้พิมพ์ \d, \w และ \s ได้ตรง ๆ; ไม่ต้อง escape ซ้ำแบบในสตริงโค้ด
m ทำให้ ^ และ $ จับคู่ตามแต่ละบรรทัด ส่วน s ทำให้. จับคู่อักขระขึ้นบรรทัดใหม่ได้; ทั้งสองแก้คนละปัญหาและใช้ร่วมกันได้เมื่อจำเป็น
ต้องการรูปแบบที่เฉพาะเจาะจงมากกว่า.* แบบกว้างเพื่อหลีกเลี่ยงการจับคู่ที่ไม่คาดคิด
ตรวจสอบเอาต์พุตทดแทนทุกครั้งก่อนที่จะนำไปใช้กับที่อื่น
เครื่องมือนี้มีการตรวจจับความเสี่ยงด้านประสิทธิภาพ และจะแจ้งเตือนแพตเทิร์นที่อาจทำให้เกิด catastrophic backtracking เช่น quantifiers แบบซ้อนกัน

ข้อจำกัดและความเข้ากันได้

เครื่องมือนี้ใช้เครื่องมือ JavaScript RegExp ของเบราว์เซอร์ของคุณ ไม่สลับไปใช้ PCRE, Python, Java, Go, รูปแบบการเรียกซ้ำ, สาขาแบบมีเงื่อนไข หรือกลุ่มอะตอมมิก
Lookbehind assertions (?<=...) ต้องใช้ Chrome 62+ / Firefox 78+ / Safari 16.4+; JavaScript มักต้องการความยาวคงที่ จึงควรหลีกเลี่ยง quantifiers แบบแปรผันอย่าง * หรือ + ภายใน assertion
ข้อความขนาดใหญ่ที่มีรูปแบบซับซ้อนอาจทำให้เกิด catastrophic backtracking ได้ CrateX.app ใช้ Worker คำเตือนความเสี่ยง โหมดปลอดภัย และการป้องกัน timeout เพื่อลดความเสี่ยงที่เบราว์เซอร์ค้าง แต่ไม่ใช่หลักฐาน ReDoS

ความเป็นส่วนตัวและความปลอดภัย

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

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

6

ขั้นตอนถัดไปสามารถทำต่อด้วยเครื่องมือที่เกี่ยวข้องเหล่านี้

เกี่ยวกับเรา

เกี่ยวกับเรา
ราคา

การประมวลผลของเครื่องมือทั้งหมดเกิดขึ้นภายในเบราว์เซอร์ของคุณแบบในเครื่อง