diff --git a/weasyprint/html.py b/weasyprint/html.py
index 2bb2f9c8..0b45744b 100644
--- a/weasyprint/html.py
+++ b/weasyprint/html.py
@@ -350,22 +350,22 @@ def strip_whitespace(string):
W3C_DATE_RE = re.compile('''
^
[ \t\n\f\r]*
- (?P\d\d\d\d)
+ (?P\\d\\d\\d\\d)
(?:
- -(?P0\d|1[012])
+ -(?P0\\d|1[012])
(?:
- -(?P[012]\d|3[01])
+ -(?P[012]\\d|3[01])
(?:
- T(?P[01]\d|2[0-3])
- :(?P[0-5]\d)
+ T(?P[01]\\d|2[0-3])
+ :(?P[0-5]\\d)
(?:
- :(?P[0-5]\d)
- (?:\.\d+)? # Second fraction, ignored
+ :(?P[0-5]\\d)
+ (?:\\.\\d+)? # Second fraction, ignored
)?
(?:
Z | # UTC
- (?P[+-](?:[01]\d|2[0-3]))
- :(?P[0-5]\d)
+ (?P[+-](?:[01]\\d|2[0-3]))
+ :(?P[0-5]\\d)
)
)?
)?