Вы можете использовать эту функцию, которая использует string.format
для построения регулярных выражений с одной захваченной группой:
>>> pattern = "world! {} "
>>> text = "hello world! this is python"
>>> def find_variable(pattern, text):
... return re.findall(pattern.format(r'(\S+)'), text)[0]
...
>>> print (find_variable(pattern, text))
this
PS: Вы можете добавить здравомыслиепроверяет внутри вашей функции для проверки формата строки и успешного findall
.
Code Demo