Я ищу способ выбрать и заменить определенную часть в моей строке, используя python re.sub
.
Строка в моем случае будет
'SELECT * FROM contacts WHERE "id"=%user.id%;'
Содержимое в знаках %
должно быть коротким исполняемым кодом, который возвращает число, строку или другое.
# having these
user = User(id=123)
'SELECT * FROM contacts WHERE "id"=%user.id%;'
# output should be
'SELECT * FROM contacts WHERE "id"=123;'
но также
# having these
user = User(id=123, name="John Smith")
'''SELECT * FROM contacts WHERE "name"=%user.name.lower().replace(" ", "_")%;'''
# output should be
'''SELECT * FROM contacts WHERE "name"='john_smith';'''
Я очень новичок в регулярных выражениях, поэтому я не знаю, как это сделать. Я попытался /%\w+/g
, но это будет соответствовать %user
вместо %user.id%
. Что я могу сделать?