import re
regex = re.compile(r"(?<=\n)(?<match>.+?(?<phone>\d[\d\s]{7,}).+Reference.+id[\w\W]+#(?<ref>\w+\b))", flags=re.IGNORECASE)
test_str = ("logo\n"
"[https://app.discountdata.ng/assets/images/full-logo.png]https://app.discountdata.ng\n\n"
"Discount Data - Nigeria's topmost enterprise solution to your telecom needs.\n\n\n"
"NOTIFICATION ALERT\n\n"
"Hi staffdd,\n\n"
"Glo CORPORATE GIFTING 1GB - 30 Days to 08110768733 Reference ID Is :\n"
"#202406131022Y5WSUG49ERTYGT666aba5d7dbd3\n\n"
"If you wish to option out from this kind of mail, please contact us or ignore\n"
"this message.\n\n"
"If you face any issues, please contact us at help@discountdata.ng\n\n"
"(c) 2024 Discount Data. All rights reserved.\n\n"
"This email was sent to you as a registered member of Discount Data\n"
"[https://app.discountdata.ng]. Thank You.")
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