ทดสอบ Regex
พิมพ์ regular expression กับข้อความทดสอบ แล้วดูว่าตรงตรงไหน ที่ตรงถูกไฮไลต์ในข้อความและแสดงในตารางพร้อมกลุ่มที่จับ ลองแทนที่ด้วย $1 ได้ ถ้า regex ช้าจนค้าง (ReDoS) เครื่องมือจะหยุดให้ภายใน 1 วินาที หน้าเว็บไม่ค้าง ทำงานในเบราว์เซอร์ของคุณ
เครื่องมือนี้ต้องใช้ JavaScript ถ้าเห็นข้อความนี้นานเกินไม่กี่วินาที แปลว่าเบราว์เซอร์ปิด JavaScript ไว้หรือโหลดหน้าไม่ครบ ลองเปิด JavaScript หรือโหลดหน้านี้ใหม่
วิธีใช้
- พิมพ์ regex ในช่องระหว่าง / / และเลือกแฟล็ก (ปกติเปิด
gเพื่อหาทุกที่) หรือเลือกจาก "ตัวอย่าง" - พิมพ์หรือวางข้อความทดสอบ ที่ตรงถูกไฮไลต์ทันที ตารางข้างล่างบอกตำแหน่งและกลุ่มที่จับของแต่ละที่
- ติ๊ก "ลองแทนที่" แล้วใส่ข้อความแทนที่ (
$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}
สิ่งที่ควรรู้
- แฟล็ก:
gหาทุกที่iไม่สนตัวพิมพ์mให้ ^ $ ตามบรรทัดsให้ . จับขึ้นบรรทัดใหม่uโหมด Unicode (รองรับ \p{…} และอีโมจิ)yตรงที่ตำแหน่งเดียวdบอกตำแหน่งของกลุ่ม - แสดงผลสูงสุด 1,000 ที่ตรงแรก แต่นับจำนวนทั้งหมดให้
- ข้อความทดสอบยาวเกิน 1 MB จะตัดเหลือ 1 MB แรก
ข้อมูลของคุณไม่ออกจากเครื่อง
ทุกอย่างทำงานในเบราว์เซอร์ของคุณ สิ่งที่คุณพิมพ์ วาง หรือเปิดไม่ถูกส่งขึ้นเซิร์ฟเวอร์ของ freesabai หรือของใคร และไม่ถูกเก็บไว้ในเบราว์เซอร์ ปิดหน้าแล้วหายหมด เว็บนับเพียงว่าหน้านี้ถูกเปิดและมีคนคัดลอกหรือบันทึกผลกี่ครั้ง (ไม่ส่งสิ่งที่วางหรือผลลัพธ์ และปิดการนับได้ที่ท้ายเว็บ ดูนโยบายความเป็นส่วนตัว)
แจ้งปัญหาหรือเสนอไอเดีย
เจอปัญหาหรืออยากให้เครื่องมือนี้ทำอะไรได้เพิ่ม บอกเราได้ที่หน้าแจ้งปัญหาและเสนอไอเดีย ไม่ต้องสมัคร
เครื่องมือนักพัฒนาอื่นๆ
JSON และข้อมูล
- จัดรูปแบบ JSONจัดรูป ย่อ และตรวจ JSON บอกบรรทัดที่ผิด พับดูเป็นชั้นได้
- แปลง JSON เป็น YAMLแปลง JSON เป็น YAML ทันที คงลำดับคีย์ ไม่ส่งข้อมูลออกจากเครื่อง
- แปลง YAML เป็น JSONแปลง YAML เป็น JSON บอกบรรทัดที่ YAML ผิด
- แปลง JSON เป็น CSVแปลง JSON เป็น CSV เปิดใน Excel ได้ รองรับภาษาไทย
- แปลง CSV เป็น JSONแปลง CSV เป็น JSON เลือกตัวคั่นได้ รู้จักเครื่องหมายคำพูด
- ดู CSV เป็นตารางเปิดไฟล์ CSV ดูเป็นตาราง เรียงคอลัมน์ ค้นหา ไม่ต้องใช้ Excel
- เทียบข้อความ / JSON (Diff)ดูว่าสองข้อความต่างกันตรงไหน แบบเทียบข้างกันหรือรวม ไฮไลต์ระดับคำ
เข้ารหัส แฮช โทเคน
- Base64 เข้ารหัส/ถอดรหัสBase64 ข้อความไทย (UTF-8) แบบ URL-safe และไฟล์ ⇄ Base64
- สร้างแฮช MD5 SHA-256 และ HMACแฮชข้อความหรือไฟล์ MD5 SHA-1 SHA-256 SHA-512 HMAC และตรวจ checksum
- ถอดรหัส JWTดู header และ payload ของ JWT เวลาหมดอายุอ่านง่าย (ถอดอย่างเดียว ไม่ตรวจลายเซ็น)
- URL Encode / Decodeเข้ารหัสและถอดรหัสลิงก์ ภาษาไทยในลิงก์ (%E0%B8…) แยกส่วนของ URL ได้
- HTML Entities Encode / Decodeแปลงตัวอักษรพิเศษเป็น & < > " และกลับ
ตัวสร้าง
เวลา ตัวเลข สี
- แปลง Unix Timestamp เป็นวันเวลาแปลง timestamp (วินาที/มิลลิวินาที) เป็นวันเวลาและกลับ เลือกเขตเวลาได้
- อธิบาย Cron Expressionแปล cron เป็นภาษาคน และดู 5 รอบที่จะรันถัดไป
- แปลงเลขฐาน 2 8 10 16แปลงเลขฐานสอง แปดสิบ สิบหก และคำนวณบิต AND OR XOR shift
- แปลงสี HEX RGB HSLแปลงสีระหว่าง HEX, RGB และ HSL เลือกสีด้วยสายตา
- ตรวจความต่างสี (WCAG)เช็กอัตราส่วนความต่างของสีตัวอักษรกับพื้นหลัง ผ่าน AA / AAA หรือไม่