これを説明する最も簡単な方法は次のとおりです。私が使用しているものは次のとおりです。
re.split('\W', 'foo/bar spam\neggs')
>>> ['foo', 'bar', 'spam', 'eggs']
私が欲しいものは次のとおりです:
someMethod('\W', 'foo/bar spam\neggs')
>>> ['foo', '/', 'bar', ' ', 'spam', '\n', 'eggs']
その理由は、文字列をトークンに分割し、それを操作してから、再び組み立てたいからです。
ベストアンサー1
のドキュメントre.split
言及:
パターンの出現箇所で文字列を分割します。パターンでキャプチャ括弧が使用されている場合、パターン内のすべてのグループのテキストも結果のリストの一部として返されます。
したがって、セパレーターをキャプチャ グループで囲む必要があります。
>>> re.split('(\W)', 'foo/bar spam\neggs')
['foo', '/', 'bar', ' ', 'spam', '\n', 'eggs']