0

URL Regex — จับคู่และแยกลิงก์

แก้ไขข้อบกพร่องของนิพจน์ทั่วไปของ JavaScript แบบสด: การจับคู่ที่ไฮไลต์ กลุ่มการจับภาพ แฟล็ก และการแสดงตัวอย่างการแทนที่

รองรับ $1, $2 และการอ้างอิงที่มีชื่อเช่น $<name>; $& แทรกการแข่งขันทั้งหมด เว้นว่างไว้เพื่อซ่อนการแสดงตัวอย่าง

กำลังประมวลผล... 0%

ผลลัพธ์

หน้านี้เริ่มต้นด้วยรูปแบบ URL ที่ทั้งค้นหาลิงก์และแยกลิงก์: (?<protocol>https?):\/\/(?<host>[^\s\/?#]+)(?<path>\/[^\s?#]*)?(?<query>\?[^\s#]*)?. การจับคู่แต่ละรายการจะแบ่งออกเป็นสี่กลุ่มที่มีชื่อ — โปรโตคอล โฮสต์ เส้นทาง และแบบสอบถาม — ดังนั้นคุณจึงเห็นว่าไม่เพียงแค่ลิงก์ที่ตรงกันเท่านั้น แต่ยังเห็นว่าส่วนใดของลิงก์นั้นไปอยู่ที่ไหนด้วย

คลาสอักขระที่นี่ใช้งานได้จริง: [^\s\/?#]+ หมายถึง "ทุกอย่างจนถึงเครื่องหมายทับ เครื่องหมายคำถาม หรือแฮชถัดไป" ซึ่งเป็นวิธีการแยกโฮสต์ออกจากเส้นทางและเส้นทางจากสตริงการสืบค้น โปรดทราบว่า ftp://old.server.net ในตัวอย่างจะไม่ตรงกันเนื่องจากกลุ่มโปรโตคอลอนุญาตเฉพาะ http หรือ https เท่านั้น — ขยายการสลับหากคุณต้องการรูปแบบเพิ่มเติม

วางข้อความของคุณเอง — ไฟล์บันทึก เอกสาร Markdown ส่วน HTML — และดูการอัปเดตไฮไลท์แบบสดๆ ช่องการแทนที่จะเข้าใจการอ้างอิงกลุ่ม ดังนั้นคุณจึงสามารถเขียนลิงก์ที่ตรงกันทั้งหมดใหม่ได้ เช่น ล้อมเป็น [$&] หรือลดเป็น $<host>