分页: 1 / 1

vim 正则表达式问题

发表于 : 2010-03-25 9:00
hjjdebug
比如下面的文本

代码: 全选

E:\show2\you-ku\video_1.txt
E:\show2\you-ku\tele_1.txt
E:\show2\qqlive\first\video_1.txt
E:\show2\qqlive\video_2.txt
我想匹配文本中最末尾\到行尾, 在vim 中应该怎样表示? 谢谢!
以第一行为例,就是匹配\video_1.txt, 而不要匹配 e:\show2\you-ku。 再一次感谢!

Re: vim 正则表达式问题

发表于 : 2010-03-25 19:28
zerger
/[^\\]*\.txt

Re: vim 正则表达式问题

发表于 : 2010-03-29 10:11
hjjdebug
好! 谢谢! 逻辑的考验。稍稍有点美中不足,是不能匹配最后一个反斜杠 \,
从逻辑上说,已经证明到了1+2, 还缺证明1+1,
不过它还是很有参考价值,所以感谢!

Re: vim 正则表达式问题

发表于 : 2010-03-29 10:33
eexpress
vim里面匹配这?
不会用find。额。这是干嘛用呢。

Re: vim 正则表达式问题

发表于 : 2010-03-29 12:17
Strange
hjjdebug 写了:好! 谢谢! 逻辑的考验。稍稍有点美中不足,是不能匹配最后一个反斜杠 \,
从逻辑上说,已经证明到了1+2, 还缺证明1+1,
不过它还是很有参考价值,所以感谢!
不能匹配最后的反斜杠,那么加上他不就好了嘛

/\\[^\\]*\.txt

Re: vim 正则表达式问题

发表于 : 2010-04-03 23:26
HuaChong
不知道你的目的,也可以匹配最后斜杠前面的,然后去掉

Re: vim 正则表达式问题

发表于 : 2010-04-04 0:13
风间星魂
hjjdebug 写了:比如下面的文本

代码: 全选

E:\show2\you-ku\video_1.txt
E:\show2\you-ku\tele_1.txt
E:\show2\qqlive\first\video_1.txt
E:\show2\qqlive\video_2.txt
我想匹配文本中最末尾\到行尾, 在vim 中应该怎样表示? 谢谢!
以第一行为例,就是匹配\video_1.txt, 而不要匹配 e:\show2\you-ku。 再一次感谢!
/\\.[^\\]*\.txt
/是搜索命令
\\匹配一个\号
.任意字符
[^\\]中间不包括\号
*任意数量
\.txt 匹配.txt

授人以鱼,不如授人以渔 :em04

Re: vim 正则表达式问题

发表于 : 2010-04-09 14:12
hjjdebug
好久未来论坛。
“Strange ”已经给出了完美答案。
” 风间星魂 “ 也注释的很好。
感谢大家的帮助!

Re: vim 正则表达式问题

发表于 : 2010-08-28 18:02
mowvita
试试这个
\\\@<=[^\\]*$