我有一个文件,其中包含多个以下形式的 URL:
http://www.edu-factory.org/wp/about/
我想提取 URL 的 sitehost 并将其附加到行尾:
http://www.edu-factory.org/wp/about/www.edu-factory.org
知道怎样做吗?
答案1
一种方法是:
:s:\(.*//\)\([^/]*\)\(/.*\):\1\2\3 \2:
解释:
:s:
- 使用替代\(.*//\)
- 捕获双斜线部分(第 1 组)\([^/]*\)
- 捕获所有非斜线的内容(第 2 组)\(/.*\)
- 捕获第一个单斜线以及其后的所有内容(第 3 组):\1\2\3 \2:
- 输出组 1、2 和 3,然后按空格,再输出组 2
编辑:
您可以将其排序为:
:s:\(.*//\)\([^/]*\)\(/.*\):& \2:
“与”符号输出整个匹配的字符串,包括整行,因为正则表达式以 开头和结尾.*
。您可以使用\0
代替“与”符号。