Márcio Faustino wrote: > On 11 Abr, 20:06, Peter Otten <__pete...@web.de> wrote: >> I think you are right. Please file a bug report . > > I will. > >> IMO this doesn't fix the problem because >> >> (1) it allows "%%%" which is also incorrect > > You're right, how about this one "(?<!%)%(?:%%)*(?!%)"? > Instead of checking for a 'bad' value, why not check for a 'good' one?
Change: _badpercent_re = re.compile(r"%[^%]|%$") to: _goodpercent_re = re.compile(r"(?:%%|[^%])*$") and then: m = self._badpercent_re.search(tmp_value) if m: to: m = self._goodpercent_re.match(tmp_value) if not m: >> (2) _interpvar_re has already butchered values like "%%(alpha)s" to "%" > > Isn't that expected? I mean, one wouldn't write "%%(alpha)s", but > instead "%%%(alpha)s" or "%(alpha)s" right? > -- http://mail.python.org/mailman/listinfo/python-list