Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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中工作,但在vim'中失败;s ex模式_Regex_Vim_Ex - Fatal编程技术网

Regex 正则表达式在vim中工作,但在vim'中失败;s ex模式

Regex 正则表达式在vim中工作,但在vim'中失败;s ex模式,regex,vim,ex,Regex,Vim,Ex,我在脚本中使用vim的ex模式来对文本文件执行vim正则表达式和替换 ex $NAME <<EOEX :%s/<.\{-}>//g :%s/\[.\{-}\]//g :%s/&#160;/ /g :%s/^Contents$ :%s/^\d.*$ :%s/ (.\{1,4\})//g :g/^$\n^$/d :x EOEX 这很好用。有人知道为什么它在vim中使用-c选项而不是在ex模式下作为命令工

我在脚本中使用vim的ex模式来对文本文件执行vim正则表达式和替换

ex $NAME <<EOEX
    :%s/<.\{-}>//g
    :%s/\[.\{-}\]//g
    :%s/&#160;/ /g
    :%s/^Contents$
    :%s/^\d.*$
    :%s/ (.\{1,4\})//g
    :g/^$\n^$/d
    :x
EOEX
这很好用。有人知道为什么它在vim中使用-c选项而不是在ex模式下作为命令工作吗


(附带问题:Side的语法是什么?
您的ex命令上的正则表达式与您提供的第二个正则表达式看起来非常不同。如果您想问为什么只有第二个正则表达式“起作用”我的回答是:因为它们完全不同。我没有说清楚,但我尝试了ex命令中的精确表达式,但它没有按照预期的方式工作。旁白:如果你不知道它的作用,为什么要使用该符号?我不确定你的问题是否是修辞性的,但我使用的符号基于使用vim的示例ex模式,这是一个学习项目,而不是专业项目
vim $NAME -c ':%s/ ([^)]\{-}[^\d0-\d1000].\{-})//g' -c ':wq'