import re
my_phrases = ['Hello world', 'apple', 'orange', 'red car']
my_string = 'I am driving a red car'
pattern = re.compile(r"\b(?:{})\b".format("|".join(sorted(map(re.escape, my_phrases), key=len, reverse=True))))
match = pattern.search(my_string)
if match:
print(f"A match has been found: {match.group()}")
# => A match has been found: red car
aW1wb3J0IHJlCm15X3BocmFzZXMgPSBbJ0hlbGxvIHdvcmxkJywgJ2FwcGxlJywgJ29yYW5nZScsICdyZWQgY2FyJ10KbXlfc3RyaW5nID0gJ0kgYW0gZHJpdmluZyBhIHJlZCBjYXInCnBhdHRlcm4gPSByZS5jb21waWxlKHIiXGIoPzp7fSlcYiIuZm9ybWF0KCJ8Ii5qb2luKHNvcnRlZChtYXAocmUuZXNjYXBlLCBteV9waHJhc2VzKSwga2V5PWxlbiwgcmV2ZXJzZT1UcnVlKSkpKQptYXRjaCAgPSBwYXR0ZXJuLnNlYXJjaChteV9zdHJpbmcpCmlmIG1hdGNoOgoJcHJpbnQoZiJBIG1hdGNoIGhhcyBiZWVuIGZvdW5kOiB7bWF0Y2guZ3JvdXAoKX0iKQoKIyA9PiBBIG1hdGNoIGhhcyBiZWVuIGZvdW5kOiByZWQgY2FyCg==