ฉันมีไฟล์ที่มีจำนวน URL ในรูปแบบ:
http://www.edu-factory.org/wp/about/
ฉันต้องการแยก sitehost ของ url และต่อท้ายบรรทัด:
http://www.edu-factory.org/wp/about/ www.edu-factory.org
ความคิดใดที่จะทำเช่นนั้น?
ฉันมีไฟล์ที่มีจำนวน URL ในรูปแบบ:
http://www.edu-factory.org/wp/about/
ฉันต้องการแยก sitehost ของ url และต่อท้ายบรรทัด:
http://www.edu-factory.org/wp/about/ www.edu-factory.org
ความคิดใดที่จะทำเช่นนั้น?
คำตอบ:
วิธีหนึ่งในการทำเช่นนั้น:
:s:\(.*//\)\([^/]*\)\(/.*\):\1\2\3 \2:
คำอธิบาย:
:s:
- การใช้การทดแทน\(.*//\)
- จับภาพส่วนที่ทับสอง (กลุ่ม 1)\([^/]*\)
- จับทุกอย่างที่ไม่ใช่สแลช (กลุ่ม 2)\(/.*\)
- เก็บสแลชเดี่ยวครั้งแรกและทุกอย่างหลังจากนั้น (กลุ่ม 3):\1\2\3 \2:
- กลุ่มเอาต์พุต 1, 2 และ 3 ตามด้วยช่องว่างและกลุ่ม 2 อีกครั้งแก้ไข:
คุณสามารถเรียงลำดับสิ่งต่อไปนี้เพื่อ:
:s:\(.*//\)\([^/]*\)\(/.*\):& \2:
เครื่องหมาย outputs สตริงที่ตรงกันทั้งหมดซึ่งรวมถึงสายทั้งตั้งแต่ regex .*
เริ่มต้นและจบลงด้วยการ คุณสามารถใช้\0
แทนเครื่องหมายแอมเปอร์แซนด์