正则表达式以匹配跨平台换行符

时间:2009-08-26 00:54:21

标签: python regex cross-platform eol

我的程序可以接受换行符为\ n,\ r \ n或\ r \ n的数据(例如Unix,PC或Mac样式)

构造一个匹配编码的正则表达式的最佳方法是什么?

或者,我可以在输入上使用universal_newline支持,但现在我有兴趣看看正则表达式是什么。

2 个答案:

答案 0 :(得分:81)

我想要精确的时候使用的正则表达式是"\r\n?|\n"

当我不关心一致性或空行时,我使用"[\r\n]+",我想它会使我的程序在某处大约0.2%的速度。

答案 1 :(得分:7)

该模式可以简化为'\n'以获得一点性能提升,因为您可能不必处理旧的Mac风格(自2002年2月以来OS 9不受支持)。