ฉันมีไฟล์ที่มีจำนวน 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แทนเครื่องหมายแอมเปอร์แซนด์