sustituir regulares regular quitar expresiones expresion especiales espacio ejemplos cualquier concatenar caracteres caracter blanco alfanumerico regex search vim vi

regulares - VIM-Reemplazar basado en una búsqueda regex



expresiones regulares ejemplos (1)

En general, la solución es usar una captura . Coloque /( ... /) alrededor de la parte de la expresión regular que coincida con lo que desea conservar, y use /1 para incluir lo que coincida con esa parte de la expresión regular en la cadena de reemplazo:

s//(s[w|l].*[0-9].*/)/./*''$//1//.*''/

Como en realidad solo está insertando una barra diagonal inversa entre dos cadenas que no está cambiando, podría usar un segundo conjunto de paréntesis y /2 para el segundo:

s//(s[w|l].*[0-9].*/)/(/./*''/)$//1///2/

Alternativamente, puede usar /zs y /ze para delimitar solo la parte de la cadena que desea reemplazar:

s/s[w|l].*p0-9].*/zs/ze/*/'$////

Tengo un archivo con varios (más de 1000) registros como:

lbc3.*'' ssa2.*'' lie1.*'' sld0.*'' ssdasd.*''

Puedo encontrarlos a todos por:

/s[w|l].*[0-9].*$

Lo que quiero hacer es reemplazar la parte final de cada patrón encontrado con /. * ''

No puedo :%s//s[w|l].*[0-9].*$//////./*'' Porque reemplazará toda la cadena, y lo que necesito es solo reemplaza el final de. '' a /. ''

Entonces el resultado del archivo es llike:

lbc3//.*'' ssa2//.*'' lie1//.*'' sld0//.*'' ssdasd//.*''

Gracias.