Уведомления

Группа в Telegram: @pythonsu

#1 Июль 14, 2015 14:05:07

cdi9
Зарегистрирован: 2015-04-10
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Не срабатывает re.sub

Имеется небольшой текстовый фрагмент, помещенный в переменную 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)

Отредактировано cdi9 (Июль 14, 2015 14:06:13)

Офлайн

#2 Июль 14, 2015 14:32:31

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9873
Репутация: +  853  -
Профиль   Отправить e-mail  

Не срабатывает re.sub

>>> 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
}
 
>>>



Отредактировано py.user.next (Июль 14, 2015 14:32:40)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version