正则表达式替换字符串

Regex to replace a string

在 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

但它不起作用..

您必须小心使用量词,并且必须转义 /。试试这个

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