tengo una cadena que podría tener este aspectopitón expresión regular reemplazar parte de una cadena coincidente
"myFunc('element','node','elementVersion','ext',12,0,0)"
Actualmente estoy comprobando su validez utilizando, que funciona bien
myFunc\((.+?)\,(.+?)\,(.+?)\,(.+?)\,(.+?)\,(.+?)\,(.+?)\)
ahora i' Me gusta reemplazar cualquier cadena que esté en el 3er parámetro. desafortunadamente no puedo usar un stringreplace en cualquier subcadena en la 3ra posición ya que la misma 'subcadena' podría estar en cualquier otro lugar en esa cadena.
con esto y un re.findall,
myFunc\(.+?\,.+?\,(.+?)\,.+?\,.+?\,.+?\,.+?\)
yo era capaz de obtener el contenido de la subcadena en la tercera posición, pero re.sub no reemplaza la cadena a la que sólo me devuelve la cadena i desee reemplazar con:/
aquí está mi código
myRe = re.compile(r"myFunc\(.+?\,.+?\,(.+?)\,.+?\,.+?\,.+?\,.+?\)")
val = "myFunc('element','node','elementVersion','ext',12,0,0)"
print myRe.findall(val)
print myRe.sub("noVersion",val)
alguna idea de lo que me he perdido?
gracias! Seb
La variedad de respuestas aquí me lleva a creer que la revuelta Pythonic contra el lema TIMTOWTDI de Perl fue algo equivocado. :) –