Извлечение целых слов на основе подстроки в python

Я ищу выражение регулярных выражений в Python. У меня длинная строка текста, и у меня есть список подстрок, чтобы выполнить сопоставление в длинной строке текста.

Примеры подстрок в: 'table', 'e furnish' Пример строки:

'Today is a good day to do up the table furnishings. Lets go to the store.' 

Для «таблицы» я хотел бы извлечь «таблицу». Для «e furnish» я хотел бы извлечь «столовую мебель».

Мой текущий код:

 for item in checklist: pattern = r"[\s](.*)" + item +"([az]){0,2}[\s\.]" print pattern matchObj = re.search(pattern, line) if matchObj: print "matchObj.group() : ", matchObj.group() else: print ("No match!!") 

но я не могу подобрать целые слова, инкапсулирующие подстроки. Дело в том, что подстроки могут быть одним или несколькими словами, и это может соответствовать целым словам или просто части слов. Для этих подстрок с несколькими словами извлеченные слова должны быть вместе без другого слова между ними.

Спасибо вам за помощь, всем.

Вы можете использовать \w* любое количество символов слова как шутника.

 \w*e furnish\w* 

См. Демонстрацию в regex101