Antoine Pitrou <[EMAIL PROTECTED]> added the comment: The re.M flag is an attribute of the compiled pattern, and as such it must be passed to compile(), not to findall().
These all work: >>> re.compile(r"[a-z]+").findall("hello world") ['hello', 'world'] >>> re.compile(r"[a-z]+", re.M).findall("hello world") ['hello', 'world'] >>> re.compile(r"(?m)[a-z]+").findall("hello world") ['hello', 'world'] The second argument to the findall() method of compile objects is the start position to match from (see http://docs.python.org/lib/re-objects.html). This explains the behaviour you are witnessing: >>> re.M 8 >>> re.compile(r"[a-z]+").findall("hello world", 8) ['rld'] ---------- nosy: +pitrou resolution: -> invalid status: open -> closed _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue3587> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com