У меня есть строка "F(foo)"
, и я хотел бы заменить эту строку на "F('foo')"
.Я знаю, что мы также можем использовать регулярное выражение во втором параметре и выполнить эту замену, используя re.sub(r"F\(foo\)", r"F\('foo'\)",str)
.Но проблема здесь в том, что foo является динамической строковой переменной.Это отличается каждый раз, когда мы хотим сделать эту замену.Возможно ли с помощью какого-то регулярного выражения сделать такую замену более чистым способом?
Я помню один способ извлечь foo, используя ()
, а затем .group(1)
.Но для этого нужно определить еще одну временную переменную просто для хранения foo.Мне любопытно, есть ли способ, которым мы можем заменить "F(foo)"
на "F('foo')"
в одной строке или другими словами более понятным способом.
Примеры:
F(name)
следует заменить на F('name')
.F(id)
следует заменить на F('id')
.G (имя) не должно быть заменено.Таким образом, регулярное выражение будет r"F\((\w)+\)"
, чтобы найти такие строки.