Improvment of and looping in a regular expression pattern
Firstly, just for anyone who might read this: DO NOT take this as an excuse to parse your XML with regular expressions. It generally a really really bad idea! In this case the XML is malformed, so its the best we can do.

The regular expressions looping constructs are * and {4} which you already using. But this is python, so you can construct your regular expression using python:

expression = """
&lt;menu&gt;
&lt;day&gt;\w{2} (\d{2}\.\d{2})\.&lt;/day&gt;
&lt;description&gt;
"""

for x in xrange(3):
    expression += "&lt;p&gt;(.*)&lt;/p&gt;"

expression += """
&lt;/description&gt;
&lt;/menu&gt;
"""