freesabai

เครื่องมือนักพัฒนา

ทดสอบ Regex

พิมพ์ regular expression กับข้อความทดสอบ แล้วดูว่าตรงตรงไหน ที่ตรงถูกไฮไลต์ในข้อความและแสดงในตารางพร้อมกลุ่มที่จับ ลองแทนที่ด้วย $1 ได้ ถ้า regex ช้าจนค้าง (ReDoS) เครื่องมือจะหยุดให้ภายใน 1 วินาที หน้าเว็บไม่ค้าง ทำงานในเบราว์เซอร์ของคุณ

เครื่องมือนี้ต้องใช้ JavaScript ถ้าเห็นข้อความนี้นานเกินไม่กี่วินาที แปลว่าเบราว์เซอร์ปิด JavaScript ไว้หรือโหลดหน้าไม่ครบ ลองเปิด JavaScript หรือโหลดหน้านี้ใหม่

วิธีใช้

  1. พิมพ์ regex ในช่องระหว่าง / / และเลือกแฟล็ก (ปกติเปิด g เพื่อหาทุกที่) หรือเลือกจาก "ตัวอย่าง"
  2. พิมพ์หรือวางข้อความทดสอบ ที่ตรงถูกไฮไลต์ทันที ตารางข้างล่างบอกตำแหน่งและกลุ่มที่จับของแต่ละที่
  3. ติ๊ก "ลองแทนที่" แล้วใส่ข้อความแทนที่ ($1 คือกลุ่มที่ 1 $<ชื่อ> คือกลุ่มที่มีชื่อ) จะเห็นผลทั้งข้อความ

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

regex ของฉันทำให้เบราว์เซอร์ค้าง ทำไม

regex บางแบบ เช่น (a+)+$ เมื่อเจอข้อความที่ไม่ตรงจะลองแบ่งตัวอักษรทุกวิถีทาง เวลาที่ใช้เพิ่มเป็นเท่าตัวต่อทุกตัวอักษรที่เพิ่ม (เรียกว่า catastrophic backtracking หรือ ReDoS) ในเครื่องมือนี้การจับคู่ทำในตัวทำงานเบื้องหลัง ถ้าเกิน 1 วินาทีจะถูกหยุด หน้าเว็บของคุณจึงไม่ค้าง และแจ้งว่าน่าจะเป็น ReDoS

regex ของภาษาอื่น (Python, PHP, Java) ใช้ได้ไหม

เครื่องมือนี้ใช้เอนจินของเบราว์เซอร์ จึงเป็นไวยากรณ์ JavaScript ส่วนใหญ่เหมือนกัน แต่บางอย่างต่างกัน เช่น กลุ่มที่มีชื่อ JavaScript เขียน (?<ชื่อ>…) ไม่ใช่ (?P<ชื่อ>…) ของ Python และ JavaScript ไม่มีแฟล็กแบบ inline อย่าง (?i) ผลที่ได้จึงตรงกับโค้ด JavaScript แน่นอน ส่วนภาษาอื่นควรตรวจซ้ำ

จับตัวอักษรไทยอย่างไร

ใช้ช่วง [\u0E00-\u0E7F]+ ซึ่งครอบคลุมพยัญชนะ สระ และวรรณยุกต์ไทย กดตัวอย่าง "ตัวอักษรไทย" เพื่อลอง ระวังว่า \w และ \b ของ JavaScript ไม่รู้จักตัวอักษรไทย (นับเฉพาะ a-z 0-9 _) ถ้าต้องการจับตัวอักษรทุกภาษาให้ใช้แฟล็ก u กับ \p{L} และ \p{M}

สิ่งที่ควรรู้

ข้อมูลของคุณไม่ออกจากเครื่อง

ทุกอย่างทำงานในเบราว์เซอร์ของคุณ สิ่งที่คุณพิมพ์ วาง หรือเปิดไม่ถูกส่งขึ้นเซิร์ฟเวอร์ของ freesabai หรือของใคร และไม่ถูกเก็บไว้ในเบราว์เซอร์ ปิดหน้าแล้วหายหมด เว็บนับเพียงว่าหน้านี้ถูกเปิดและมีคนคัดลอกหรือบันทึกผลกี่ครั้ง (ไม่ส่งสิ่งที่วางหรือผลลัพธ์ และปิดการนับได้ที่ท้ายเว็บ ดูนโยบายความเป็นส่วนตัว)

แจ้งปัญหาหรือเสนอไอเดีย

เจอปัญหาหรืออยากให้เครื่องมือนี้ทำอะไรได้เพิ่ม บอกเราได้ที่หน้าแจ้งปัญหาและเสนอไอเดีย ไม่ต้องสมัคร

เครื่องมือนักพัฒนาอื่นๆ

JSON และข้อมูล

เข้ารหัส แฮช โทเคน

ตัวสร้าง

เวลา ตัวเลข สี

ข้อความและโค้ด