正则表达式替换字符串

时间:2016-09-27 00:24:44

标签: regex search vim replace vi

在VI中,我需要替换一个如下所示的模式:

seq-紧接着是24个字符(可以是0-9,a-z,仅限A-Z),后跟/后跟一些(0-9,a-z,A-Z)。所以一个示例字符串是:

SEQ-BzFk78qrJBkbnv1KkxppsfG4 / 92191_A_B

我想用固定字符串替换上面的字符串:

SEQ-ID / NUM_ID

我如何在Vi或Vim中执行此操作?我尝试了一些像

这样的东西
  :%s/seq-[a-zA-Z0-9]{24}/[a-zA-Z0-9]{+}/seq-ID/NUM_ID

但它没有'工作..

1 个答案:

答案 0 :(得分:1)

你必须小心使用量词,你必须逃避/。试试这个

:%s/^seq-[a-zA-Z0-9]\{24\}\/.*$/seq-ID\/NUM_ID/