Just noticed, that it works when *compiling* the pattern: import re p = re.compile('X.*?Y', re.DOTALL) print re.sub(p, 'Z', 'Xab\ncdY')
Still the question - my fault or a bug? Best regards -stefan- On Thu, 18 Jan 2007 11:10:08 +0100, Stefan Palme wrote: > > Hi all, > > using the "re" module of Python (2.3 and 2.4), I tried the following: > > import re > print re.sub('X.*?Y', 'Z', 'Xab\ncdY', re.DOTALL) > > I wanted to replace > Xab > cdY > by a single "Z", but the "." in the pattern does not match the > included "\n". > > When using the pattern "X(.|\n)*?Y" (explicity including "\n" > in the set of "any character") I get the wanted result. > > My fault or a bug in the module? > > Thanks > -stefan- -- http://mail.python.org/mailman/listinfo/python-list