-1

删除vim中“”引号内的所有文本的正则表达式是什么?

在这种情况下,我遇到的问题是使用捕获块。

INPUT:

<A HREF="www.sitenotvaialable.com" ADD_DATE="0.0">16</A>
<A HREF="http://www.cnet.com/"      ADD_DATE="0.0">17</A>
<A HREF="http://www.flickr.com/"   ADD_DATE="0.0">18</A>
<A HREF="http://www.white-fox.co"  ADD_DATE="0.0">19</A>

OUTPUT:
<A HREF="" ADD_DATE="0.0">16</A>
<A HREF="" ADD_DATE="0.0">17</A>
<A HREF="" ADD_DATE="0.0">18</A>
<A HREF="" ADD_DATE="0.0">19</A>
4

2 回答 2

1

这应该适用于您的示例:

%s/"\zs[^"]*//

如果你愿意,你也可以录制宏来实现这一点(使用更少的击键):

(假设您的光标位于第 1 行)

qq0di"j@qq

比您键入@q来重播缓冲区中所有行的宏。

请注意,递归宏仅用于保存999@q

于 2013-11-12T09:27:30.833 回答
0

试试这个:

:%s/HREF="[^"]*"/HREF=""/

通过使用"[^"]*"而不是仅使用,".*"您可以避免将第一个右引号一直匹配到第二个属性的第二个右引号。

于 2013-11-12T04:36:49.417 回答