Jon Crump wrote: > I'm still faced with the problem of the javascript months being 0 > indexed. I have to add 1 to group \2 in order to get my acurate > date-string. Obviously I can't do > > print jdate.sub(r'"\1-\2+1-\3"', s) > > because the first argument to sub() is a string. How can I act on \2 > before it's substituted for the matched string? >
Ah, sorry I missed that part the first time through. The first argument to jdate.sub ('repl') can also be a function that accepts an re.match object and returns a string, so something like the following (*untested*) may be helpful: jdate = re.compile('new Date\((\d{4}),(\d{1,2}),(\d{1,2})\)') def repldate(match): y, m, d = map(int, match.groups()) return '%04d-%02d-%02d' % (y, m+1, d) print jdate.sub(repldate, s) HTH, Marty > Thanks again, > Jon _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor