Vim查找并替换所有出现的正则表达式字符串

时间:2019-09-25 18:00:57

标签: regex vim

我有一个包含数千行的文件,并且在这个文件中,我有一些正则表达式......

regex表达式无处不在,最近我们更改了表达式,我需要更新所有表达式。

我需要将[A-z -']+的所有实例更改为[A-z \-']+

所以我尝试做:%s/[A-z -']+/[A-z \-']+/g,但是用[A-z -']+代替了所有[A-z -'[A-z -']+的出现

还有其他方法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用以下替换:

%s/\[A-z -']/[a-zA-Z '-]/g

使用[A-z]是错误的,因为它将匹配不仅仅是[A-Za-z]的更多字符,并且最好在关闭]之前将连字符移动到结束位置以使正则表达式正确。