所以我有一个大文本文件,如下所示:
这是几百行,我真的不想手动完成.我正在尝试使用的表达式是:
当我通过几个在线正则表达式测试程序运行它时,它正在按预期工作.我基本上想要删除A,B,C等之前的所有内容.问题是当我尝试在Vim和Notepad ++中使用该表达式时,它似乎找不到任何东西.
在Notepad ++中,您不需要使用正则表达式.
按住alt可以同时选择跨多行的文本矩形.选择要删除的块,然后按删除.
在Notepad ++中:
A,B,C等之前的一切
这似乎很简单,我必须误解你.只是
:%s/<.*>//
除非我没有理解这个问题,否则有一个非常简单的解决方案.以下正则表达式:
(.*)(>)(.*)
将匹配帖子中指定的模式.
因此,在记事本++中,您可以找到(.*)(>)(.*)
并替换它\3
.
正则表达式基本上是贪婪的,如果你指定(.*)
它将匹配整行,你想要做的是以某种方式将其分解,以便你可以提取你想要保留的字符串.在这里,我完全一样,它在Notepad ++和Editplus3中工作正常.
原始解决方案存在两个问题.首先,您的示例文本:
有两个"价值"字出现.你的正则表达式没有.此外,您需要在正则表达式的量词中转义左括号,否则Vim会将其解释为文字括号.这个正则表达式有效:
:%s/
这将删除option
标签,并将字母保留在vim中:
:%s///g