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.