关于vim 正则使用

Vim、Emacs配置和使用
回复
头像
guoshuang
帖子: 153
注册时间: 2006-03-29 11:54
联系:

关于vim 正则使用

#1

帖子 guoshuang » 2006-05-15 8:44

比如

http://123.htm

我以前在editplus用查找替换

(.*)

->

[url=\1]\1[/url]

替换为

[url=http://123.htm]http://123.htm[/url]

我想在vim 中实现,但看了半天帮助也搞不定,vim的正则写法很奇怪,谁能就此给个例子。

谢谢
头像
leal
帖子: 1119
注册时间: 2005-08-29 14:49
来自: 杭州
联系:

#2

帖子 leal » 2006-05-15 17:53

直接在替换里写入

http://123.htm

好像并无多大区别啊,不过要是想把 所有 http 网址替换成 [url ....这样,那就得用上正则表达式了
用心×恒 | 豆瓣 | 门户 | Blog
头像
guoshuang
帖子: 153
注册时间: 2006-03-29 11:54
联系:

#3

帖子 guoshuang » 2006-05-16 9:01

我就是需要把所有网址转换
头像
leal
帖子: 1119
注册时间: 2005-08-29 14:49
来自: 杭州
联系:

#4

帖子 leal » 2006-05-16 12:07

见贴子
将 URL 地址替换成 URL 格式化文本

但愿能帮上你的忙 :)
用心×恒 | 豆瓣 | 门户 | Blog
detecti1
帖子: 8
注册时间: 2006-05-01 7:49

#5

帖子 detecti1 » 2006-05-26 8:09

按你写的条件在vim里要输入
:%s/\(.*\)/\[URL=\1\]\1[\/url\]/

我也是新手 :oops:
这个会把没一行都替换成[url=http://123.htm]http://123.htm[/url] 的格式
yangkwch
帖子: 56
注册时间: 2006-03-25 6:18
联系:

#6

帖子 yangkwch » 2006-06-12 20:51

detecti1 写了:按你写的条件在vim里要输入
:%s/\(.*\)/\\1[\/url\]/

我也是新手 :oops:
这个会把没一行都替换成[url=http://123.htm]http://123.htm
的格式
这样即使该行后有其他字符也给替换了,

http://123.htm is here。
就替换成了
\http://123.htm
可以考虑用
:%s/\(http:\/\/[0-9a-zA-Z.?&%/]*\.htm\)/[URL=\1\]\1[\/url\]/g
如果是一个其他网址,替换起来比较麻烦,还没有想好一种通用的方法。
回复