Python 2.6 (r26:66721, Oct 2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import re >>> print 'a1a1a'.replace('1', '\n') # ok a a a >>> print 'a1a1a'.replace('1', r'\n') # ok a\na\na >>> print re.sub('1', '\n', 'a1a1a') # ok a a a >>> print re.sub('1', r'\n', 'a1a1a') # wrong! a a a >>> 'a1a1a'.replace('1', '\n') == re.sub('1', '\n', 'a1a1a') # ok True >>> 'a1a1a'.replace('1', r'\n') == re.sub('1', r'\n', 'a1a1a') # wrong! False >>> 'a1a1a'.replace('1', '\n') == re.sub('1', r'\n', 'a1a1a') # wrong! True >>> >>> re.search('\n', 'a\na') # ok <_sre.SRE_Match object at 0x009B39C0> >>> re.search(r'\n', r'a\na') # wrong! >>> r'\n' in r'a\na' True >>> re.search('\n', r'a\na') # ok >>> re.search(r'\n', 'a\na') # wrong! <_sre.SRE_Match object at 0x00A81BF0> >>> r'\n' in 'a\na' False