DOTALL not working as expected

Stefan Palme kleiner at
Thu Jan 18 11:10:08 CET 2007

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
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?


More information about the Python-list mailing list