Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex vim正则表达式:如何用标记替换封闭的反标记_Regex_Search_Vim_Replace - Fatal编程技术网

Regex vim正则表达式:如何用标记替换封闭的反标记

Regex vim正则表达式:如何用标记替换封闭的反标记,regex,search,vim,replace,Regex,Search,Vim,Replace,我有一份标记文档,其中我经常引用要按下的键(当时我不知道标记!),并将它们放在背景标记中。例如,我有很多文本,比如'Shift'和'Shift+a',等等。。。我想使用Vim搜索和替换选项将它们转换为Shift或Shift+A 现在,我想做这件事的唯一方法是用替换开头的反勾号,然后分别用替换结尾的反勾号。但我想知道这是否可以在单一搜索中完成,并使用捕获组或其他方法替换命令?您可以使用替换命令: %s/`\([^`]\+\)`/\1/g 这将捕获反勾号之间的运行,并用包装的标记替换内部文本 顺便

我有一份标记文档,其中我经常引用要按下的键(当时我不知道
标记!),并将它们放在背景标记中。例如,我有很多文本,比如'Shift'和'Shift+a',等等。。。我想使用Vim搜索和替换选项将它们转换为
Shift
Shift+A


现在,我想做这件事的唯一方法是用
替换开头的反勾号,然后分别用
替换结尾的反勾号。但我想知道这是否可以在单一搜索中完成,并使用捕获组或其他方法替换命令?

您可以使用替换命令:

%s/`\([^`]\+\)`/\1/g
这将捕获反勾号之间的运行,并用包装的
标记替换内部文本


顺便说一句,
是正确的HTML结束标记,因此我假设您希望使用它而不是

echo'`Shift`|sed's/`\([^`][^`]]*\`/\1/g'
Shift