Here\'s the simplest way to explain this. Here\'s what I\'m using:
re.split(\'\\W\', \'foo/bar spam\\neggs\') -> [\'foo\', \'bar\', \'spam\', \'eggs\'] >
If you are splitting on newline, use splitlines(True).
>>> 'line 1\nline 2\nline without newline'.splitlines(True) ['line 1\n', 'line 2\n', 'line without newline']
(Not a general solution, but adding this here in case someone comes here not realizing this method existed.)