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-