在">和</ pattern中提取字符串

kad*_*hpa 2 regex vim

我试图从一行中具有以下模式的文件中提取字符串

>------ </
Run Code Online (Sandbox Code Playgroud)

-----表示可以是任何可变长度的字符串.一行中的起始模式是>结束模式</.

使用VIM的正则表达式可以进行命令行搜索吗?如果是这样可以打印出来?

或者必须写一个脚本?

我是VIM的新用户

Dev*_*rin 6

尝试以下vim搜索:

/">\(.*\)<\/
Run Code Online (Sandbox Code Playgroud)

这应该与该模式的任何行匹配.它还会存储它在开始和结束标记之间抓取的任何文本,\1如果要在vim中进行搜索和替换,可以使用它们.例如:

:%s/">\(.*\)<\//Log message: \1/
Run Code Online (Sandbox Code Playgroud)

如果要在命令行中使用grep来搜索该字符串,可以使用:

$ egrep "\">.*<\/" foo.txt
Run Code Online (Sandbox Code Playgroud)

这将只打印出匹配的行foo.txt.如果要将这些文件发送到新文件,请尝试:

$ egrep "\">.*<\/" foo.txt > new.txt
Run Code Online (Sandbox Code Playgroud)