URL Regex — จับคู่และแยกลิงก์
แก้ไขข้อบกพร่องของนิพจน์ทั่วไปของ JavaScript แบบสด: การจับคู่ที่ไฮไลต์ กลุ่มการจับภาพ แฟล็ก และการแสดงตัวอย่างการแทนที่
ผลลัพธ์
หน้านี้เริ่มต้นด้วยรูปแบบ URL ที่ทั้งค้นหาลิงก์และแยกลิงก์: (?<protocol>https?):\/\/(?<host>[^\s\/?#]+)(?<path>\/[^\s?#]*)?(?<query>\?[^\s#]*)?. การจับคู่แต่ละรายการจะแบ่งออกเป็นสี่กลุ่มที่มีชื่อ — โปรโตคอล โฮสต์ เส้นทาง และแบบสอบถาม — ดังนั้นคุณจึงเห็นว่าไม่เพียงแค่ลิงก์ที่ตรงกันเท่านั้น แต่ยังเห็นว่าส่วนใดของลิงก์นั้นไปอยู่ที่ไหนด้วย
คลาสอักขระที่นี่ใช้งานได้จริง: [^\s\/?#]+ หมายถึง "ทุกอย่างจนถึงเครื่องหมายทับ เครื่องหมายคำถาม หรือแฮชถัดไป" ซึ่งเป็นวิธีการแยกโฮสต์ออกจากเส้นทางและเส้นทางจากสตริงการสืบค้น โปรดทราบว่า ftp://old.server.net ในตัวอย่างจะไม่ตรงกันเนื่องจากกลุ่มโปรโตคอลอนุญาตเฉพาะ http หรือ https เท่านั้น — ขยายการสลับหากคุณต้องการรูปแบบเพิ่มเติม
วางข้อความของคุณเอง — ไฟล์บันทึก เอกสาร Markdown ส่วน HTML — และดูการอัปเดตไฮไลท์แบบสดๆ ช่องการแทนที่จะเข้าใจการอ้างอิงกลุ่ม ดังนั้นคุณจึงสามารถเขียนลิงก์ที่ตรงกันทั้งหมดใหม่ได้ เช่น ล้อมเป็น [$&] หรือลดเป็น $<host>