import re
full_name_list= [ 'John Doe' , 'James Henry' , 'Jane Doe' ]
source = r" John Doe is part of our team and here is his email: johndoe@something.com. James Henry is also part of our team and here his email: jameshenry@something.com. Jane Doe is the team manager and you can contact her at that address: janedoe@something.com"
for name in full_name_list:
# full name followed by the email
name_email = re .search ( r'\b ' + name+r'\b .*?([\w .-]+@[\w .-]+\. w+)' , source)
if name_email:
print ( 'Email before "{}" keyword: {}' .format ( name, name_email.group ( 1 ) ) )
# email followed by full name
email_name = re .search ( r'\b ([\w .-]+@[\w .-]+\. \w +)(?:(?![\w .-]+@[\w .-]+\. \w ).)*?\b ' +name+r'\b ' , source, re .S )
if email_name:
print ( 'Email after "{}" keyword: {}' .format ( name, email_name.group ( 1 ) ) )
aW1wb3J0IHJlCmZ1bGxfbmFtZV9saXN0PVsnSm9obiBEb2UnLCAnSmFtZXMgSGVucnknLCAnSmFuZSBEb2UnXQpzb3VyY2UgPSByIiBKb2huIERvZSBpcyBwYXJ0IG9mIG91ciB0ZWFtIGFuZCBoZXJlIGlzIGhpcyBlbWFpbDogam9obmRvZUBzb21ldGhpbmcuY29tLiBKYW1lcyBIZW5yeSBpcyBhbHNvIHBhcnQgb2Ygb3VyIHRlYW0gYW5kIGhlcmUgaGlzIGVtYWlsOiBqYW1lc2hlbnJ5QHNvbWV0aGluZy5jb20uIEphbmUgRG9lIGlzIHRoZSB0ZWFtIG1hbmFnZXIgYW5kIHlvdSBjYW4gY29udGFjdCBoZXIgYXQgdGhhdCBhZGRyZXNzOiBqYW5lZG9lQHNvbWV0aGluZy5jb20iCmZvciBuYW1lIGluIGZ1bGxfbmFtZV9saXN0OgogICAgIyBmdWxsIG5hbWUgZm9sbG93ZWQgYnkgdGhlIGVtYWlsCiAgICBuYW1lX2VtYWlsID0gcmUuc2VhcmNoKHInXGInICsgbmFtZStyJ1xiLio/KFtcdy4tXStAW1x3Li1dK1wudyspJywgc291cmNlKQogICAgaWYgbmFtZV9lbWFpbDoKICAgIAlwcmludCggJ0VtYWlsIGJlZm9yZSAie30iIGtleXdvcmQ6IHt9Jy5mb3JtYXQobmFtZSwgbmFtZV9lbWFpbC5ncm91cCgxKSkgKQogICAgIyBlbWFpbCBmb2xsb3dlZCBieSBmdWxsIG5hbWUKICAgIGVtYWlsX25hbWUgPSByZS5zZWFyY2gocidcYihbXHcuLV0rQFtcdy4tXStcLlx3KykoPzooPyFbXHcuLV0rQFtcdy4tXStcLlx3KS4pKj9cYicrbmFtZStyJ1xiJywgc291cmNlLCByZS5TKQogICAgaWYgZW1haWxfbmFtZToKICAgIAlwcmludCggJ0VtYWlsIGFmdGVyICJ7fSIga2V5d29yZDoge30nLmZvcm1hdChuYW1lLCBlbWFpbF9uYW1lLmdyb3VwKDEpKSAp