Вы предоставили только один входной пример, поэтому этот ответ основан на вашем вопросе следующим образом:
# I replace the single quotes at the start and end of your input, because
# Bob's throws a SyntaxError: invalid syntax
#
website_html = ", Jimmy Bob's Tune & Lube,"
# I removed re.findall, because you only had one example so re.search or
# re.match works.
name_list = re.search(r'[,]\s*([\w\'&]*\s?)*[,]', website_html)
print (name_list.group(0))
# output
, Jimmy Bob's Tune & Lube,
Если у вас есть дополнительные входные значения в website_html, укажите их, чтобы я мог изменить свой ответ.
Вот версия, которая использует re.findall.
# I replace the single quotes at the start and end of your input, because
# Bob's throws a SyntaxError: invalid syntax
#
website_html = ", Jimmy Bob's Tune & Lube,"
# I wrapped your pattern as a capture group
name_list = re.findall(r'([,]\s*([\w\'&]*\s?)*[,])', website_html)
print (type(name_list))
# output
<class 'list'>
print (name_list)
# output
[(", Jimmy Bob's Tune & Lube,", '')]
ОБНОВЛЕННЫЙ ОТВЕТ
Этот ответ основан на измененном вводе вашего исходного вопроса.
website_html = ", Jimmy Bob's Tune & Lube, Allen's Bar & Grill, Joanne's - Restaurant,"
name_list = re.findall(r'[?:,].*[?:,]', website_html)
for item in name_list:
split_strings = (str(item).split(','))
for string in split_strings:
print (string)
# output
Jimmy Bob's Tune & Lube
Allen's Bar & Grill
Joanne's - Restaurant