Согласно весенней документации
Видимость метода и @Transactional
При использовании прокси вы должны применять аннотацию @Transactional только к методам с публичной видимостью. , Если вы аннотируете защищенные, частные или видимые пакетами методы с помощью аннотации @Transactional, ошибка не возникает, но аннотированный метод не отображает настроенные параметры транзакции. Подумайте об использовании AspectJ (см. Ниже), если вам нужно аннотировать закрытые методы.
BLOCKQUOTE>
Прямо из документации:
>>> def dashrepl(matchobj):
... if matchobj.group(0) == '-': return ' '
... else: return '-'
>>> re.sub('-{1,2}', dashrepl, 'pro----gram-files')
'pro--gram files'
Агностик Python: Соответствуйте всему прежде и всему после Вашего текста для замены.
/^(.*?)(your regexp to match)(.*)$/
Затем у Вас есть следующее прежде и после текста, который Вы собираетесь заменить. Остальное легко - просто вставляют результат Вашей функции между двумя строками.