import re
pdfContent = "\n\nBlah blah.\n\nDate: 2022-01-31\n\nOptional line here which sometimes does not show\n\nAmount: 123.45\n\n2: Blah blah.\n"
RE = re.compile(
r"Date:\s+(\S+)(?:.*?"
r"(Optional line here which sometimes does not show))?.*?"
r"Amount:\s+(?P<amount>\S+)",
re.DOTALL)
matches = RE.search(pdfContent)
date = matches.group(1)
optional = matches.group(2)
amount = matches.group("amount")
print(f"date = {date}")
print(f"optional = {optional}")
print(f"amount = {amount}")
aW1wb3J0IHJlCgpwZGZDb250ZW50ID0gIlxuXG5CbGFoIGJsYWguXG5cbkRhdGU6ICAyMDIyLTAxLTMxXG5cbk9wdGlvbmFsIGxpbmUgaGVyZSB3aGljaCBzb21ldGltZXMgZG9lcyBub3Qgc2hvd1xuXG5BbW91bnQ6ICAxMjMuNDVcblxuMjogQmxhaCBibGFoLlxuIgoKUkUgPSByZS5jb21waWxlKAogICAgciJEYXRlOlxzKyhcUyspKD86Lio/IgogICAgciIoT3B0aW9uYWwgbGluZSBoZXJlIHdoaWNoIHNvbWV0aW1lcyBkb2VzIG5vdCBzaG93KSk/Lio/IgogICAgciJBbW91bnQ6XHMrKD9QPGFtb3VudD5cUyspIiwKICAgIHJlLkRPVEFMTCkKCm1hdGNoZXMgPSBSRS5zZWFyY2gocGRmQ29udGVudCkKZGF0ZSAgICAgPSBtYXRjaGVzLmdyb3VwKDEpCm9wdGlvbmFsID0gbWF0Y2hlcy5ncm91cCgyKQphbW91bnQgICA9IG1hdGNoZXMuZ3JvdXAoImFtb3VudCIpCgpwcmludChmImRhdGUgICAgID0ge2RhdGV9IikKcHJpbnQoZiJvcHRpb25hbCA9IHtvcHRpb25hbH0iKQpwcmludChmImFtb3VudCAgID0ge2Ftb3VudH0iKQ==