Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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_Vim - Fatal编程技术网

Regex 如何在vim中使用正则表达式替换此字符串?

Regex 如何在vim中使用正则表达式替换此字符串?,regex,vim,Regex,Vim,我想用正则表达式^+.*X$在vim中将X替换为Y,它以+开头,以X结尾,就像这样 %s/\(^+.*\)X$/\1Y/g 就这样, %s/\(^+.*\)X$/\1Y/g 另一种变体,使用\zs表示匹配开始 %s/^+.*\zsX$/Y/ 参见:h\zs了解更多信息另一种变体,使用\zs指示匹配开始 %s/^+.*\zsX$/Y/ 参见:h\zs了解更多信息另一种选择,使用命令以+开头的行操作,并替换最后的X: g/^+/s/X$/Y 另一种选择是,使用命令在以+开头的行中操

我想用正则表达式
^+.*X$
在vim中将X替换为Y,它以
+
开头,以
X
结尾,就像这样

  %s/\(^+.*\)X$/\1Y/g
就这样,

  %s/\(^+.*\)X$/\1Y/g

另一种变体,使用
\zs
表示匹配开始

%s/^+.*\zsX$/Y/

参见
:h\zs
了解更多信息

另一种变体,使用
\zs
指示匹配开始

%s/^+.*\zsX$/Y/

参见
:h\zs
了解更多信息

另一种选择,使用命令以
+
开头的行操作,并替换最后的
X

g/^+/s/X$/Y

另一种选择是,使用命令在以
+
开头的行中操作,并替换最后的
X

g/^+/s/X$/Y

没有用正则表达式尝试过,但是你可以检查,没有用正则表达式尝试过,但是你可以检查