import re
regex = re.compile(r"(?<!cpc)((lifull-connect|facebook|mitula).*(referrer|referral))|bpihousingloans|rumah\.mitula|dotproperty\/blog-property-boost", flags=re.MULTILINE)
test_str = ("lm.facebook.com\n"
"facebook/social/listing\n"
"en-gb.facebook.com\n"
"lifull-connect/cpc/premium\n"
"mitula/cpc/feed-client\n"
"mitula/cpc/feed-default\n"
"baan.mitula.in.th\n"
"mitula/feed-client\n"
"dotproperty/email/send-alert\n"
"dotproperty/email/send-alert-interest\n"
"dotproperty/email/enquiry\n"
"dotproperty/email/click-to-call-property\n"
"dotproperty/webpush/alert\n"
"dotproperty/webpush/new-home\n"
"dotproperty/android_app\n"
"dotproperty.co.th\n"
"dotpropertygroup.com\n"
"facebook/cpc/[facebook][cpc][house][sale]\n"
"lifull-connect/referrer/feed-client\n"
"lifull-connect/referrer/feed-default\n"
"directory.bpihousingloans.com\n"
"lifull-connect/referrer/feed-featured\n"
"rumah.mitula.co.id\n"
"lifull-connect/referrer/feed-boost\n"
"facebook/referral/[facebook][marketplace][condo][rent]\n"
"dotproperty/blog-property-boost\n"
"facebook/referral/[facebook][marketplace][house][rent]\n"
"facebook/referral/[facebook][marketplace][townhouse][rent]\n"
"mitula/referrer/feed-client\n"
"facebook/referral/[facebook][marketplace][condo][sale]")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} 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