import re
regex = re.compile(r"X-Gmail-Labels\s*:\s*(?P<X_Gmail_Labels>.+)[\r|\n\S\s]+Delivered-To\s*:\s*(?P<delivered_to>.+)[\r|\n\S\s]+Subject\s*:\s*(?P<subject>.+)[\r|\n\S\s]+From\s*:\s*(?P<from>.+)")
test_str = ("From 1488780641874111180@xxx Mon Dec 29 12:11:00 2014\n"
"X-GM-THRID: 1488780145305309925\n"
"X-Gmail-Labels: Sent,Important\n"
"MIME-Version: 1.0\n"
"Received: by 10.52.29.70 with HTTP; Sun, 28 Dec 2014 16:11:00 -0800 (PST)\n"
"X-Originating-IP: [82.13.144.221]\n"
"In-Reply-To: <01ff42fddfded95cfa8b14fa5559b0fb.squirrel@webmail04.register.com>\n"
"References: <01ff42fddfded95cfa8b14fa5559b0fb.squirrel@webmail04.register.com>\n"
"Date: Mon, 29 Dec 2014 00:11:00 +0000\n"
"Delivered-To: hello@domain.co\n"
"Message-ID: <CAN8wjQQWm33RS-hDdE1k3c6CMOge9-eq=3GrcNssV8gPYi+osA@mail.gmail.com>\n"
"Subject: Re:\n"
"From: DG <hello@domain.co>\n"
"To: info@otherdomain.us\n"
"Content-Type: multipart/alternative; boundary=001a11c2183a9b3b4e050b4fb549\n"
"--001a11c2183a9b3b4e050b4fb549\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Hey Chris,\n"
"Is that price for the pass with tax?\n"
"Also do you have any recommendations for good rental places in town?\n"
"Cheers,\n"
"-dave")
match = regex.search(test_str)
if match:
print(f"Match was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html