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