Форум сайта python.su
Здравствуйте!
у меня такая ситуация, я пишу:
import re
f = open('C:\Python26\example.txt')
text = f.read()
p = re.compile('(\s)+([\.,:!?;])')
new = p.sub('\2', text)
p = re.compile('\s+([\.,:!?;])')
new = p.sub('\1', text)
Офлайн
Попробуйте так:
new = p.sub(r'\2', text)
Офлайн
Ed, спасибо. так сработало. А вы не могли бы объяснить, что означает r ? я в документации видел такое в примерах, а описания не могу найти, вроде это не модификатор…
Офлайн
Читайте здесь: http://docs.python.org/reference/lexical_analysis.html#literals
Вкратце это означает ‘raw string’, в ней питон ничего трогать не будет. А если без r, то он будет стараться обработать escape последовательности \n \r \t \цифра и т.д.
Офлайн
Ed, спасибо. теперь понял.
Офлайн