Найти - Пользователи
Полная версия: Не срабатывает re.sub
Начало » Python для экспертов » Не срабатывает re.sub
1
cdi9
Имеется небольшой текстовый фрагмент, помещенный в переменную data:

divSchemes
{
default none;
div(tauMC) Gauss linear;
}

Нужно поменять четвертую строчку на div(tauMC) corrected;

Вот предполагаемый код, но замена не выполняется:

dtMC_reg = re.compile(r"div\(tauMC\)\s*\w*\s\w*(?")
dtMC_mas = dtMC_reg.findall(data)
dtMC_txt_add = «div(tauMC) corrected»
data = re.sub(dtMC_mas, dtMC_txt_add, data)

Вроде и скобки я экранирую: div\(tauMC\). Но не работает И ЗАМЕНА НЕ ВЫПОЛНЯЕТСЯ, а если нет скобок, то есть

divSchemes
{
default none;
divtauMC Gauss linear;
}

то работает. Уже устал искать ошибку, может в кодировке дело

Но ясно, что здесь все завязано со скобками: div(tauMC)
py.user.next
>>> import re
>>> 
>>> s = """
... divSchemes
... {
... default none;
... div(tauMC) Gauss linear;
... }
... """
>>> 
>>> out = re.sub(r'(div\(tauMC\)).*', r'\1 corrected', s)
>>> print(out)
 
divSchemes
{
default none;
div(tauMC) corrected
}
 
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB