Don't use regex to parse HTML. Use an HTML parser:
>>> html = '''<dt>Released
... <dd>2019-02-13 <dt>First review
... <dd>2019-02-13
... <dt>Age
... <dd>
... 914 days (2.5 years)
... </dd></dt></dd></dt></dd></dt>'''
>>> from bs4 import BeautifulSoup
>>> [x.text for x in BeautifulSoup(html, "lxml").find_all("dd")]
['2019-02-13 ', '2019-02-13\n', '\n914 days (2.5 years)\n']
(use x.text.strip()
if you don't want whitespace)
If it's not clear what's going on here, the HTML parser (lxml) actually fixes the HTML for you (amazing!!):
>>> BeautifulSoup(html, "lxml")
<html><body><dt>Released
</dt><dd>2019-02-13 </dd><dt>First review
</dt><dd>2019-02-13
</dd><dt>Age
</dt><dd>
914 days (2.5 years)
</dd></body></html>
Not the case with the builtin html.parser:
>>> BeautifulSoup(html, "html.parser")
<dt>Released
<dd>2019-02-13 <dt>First review
<dd>2019-02-13
<dt>Age
<dd>
914 days (2.5 years)
</dd></dt></dd></dt></dd></dt>
>>> [x.text.strip() for x in BeautifulSoup(html, "html.parser").find_all("dd")]
['2019-02-13 First review\n2019-02-13\nAge\n\n914 days (2.5 years)', '2019-02-13
\nAge\n\n914 days (2.5 years)', '914 days (2.5 years)']