Ниже приведено описание Regex Python - Заменить одиночные кавычки и скобки.
Задача:
Примеры входных строк:
RSQ(name['BAKD DK'], name['A DKJ'])
SMT(name['BAKD DK'], name['A DKJ'], name[ QRT'])
Требуемые выходы:
XYZ(BAKD DK, A DKJ)
XYZ(BAKD DK, A DKJ, S QRT)
Число name['something']
-подобных элементов является переменной.
Текущее решение:
В настоящее время я делаю это через два отдельных вызова re.sub()
:
>>> import re
>>>
>>> s = "RSQ(name['BAKD DK'], name['A DKJ'])"
>>> s1 = re.sub(r"^(\w+)", "XYZ", s)
>>> re.sub(r"name\['(.*?)'\]", r"\1", s1)
'XYZ(BAKD DK, A DKJ)'
Вопрос:
Можно ли объединить эти два вызова re.sub()
в один?
Другими словами, я хочу что-то заменить в начале строки, а затем несколько подобных вещей после, все это за один раз.
Я просмотрел regex
модуль - это способность захватить повторяющиеся шаблоны выглядит очень многообещающим, пробовал использовать regex.subf()
, но не смог заставить его работать.