Python 用于匹配跨平台换行符的正则表达式
我的程序可以接受换行符为\n、\r\n或\r的数据(例如Unix、PC或Mac样式) 构造与编码匹配的正则表达式的最佳方法是什么Python 用于匹配跨平台换行符的正则表达式,python,regex,cross-platform,eol,Python,Regex,Cross Platform,Eol,我的程序可以接受换行符为\n、\r\n或\r的数据(例如Unix、PC或Mac样式) 构造与编码匹配的正则表达式的最佳方法是什么 或者,我可以在输入上使用universal_新行支持,但现在我想看看正则表达式是什么。我想要精确的时候使用的正则表达式是“\r\n?| \n” 当我不关心一致性或空行时,我使用“[\r\n]+”,我想象它使我的程序速度提高了0.2%。这种模式可以简化为\r?\n,以获得一点性能提升,因为你可能不必处理旧的Mac风格(从2002年2月起就不支持OS 9).请注意,\r是
或者,我可以在输入上使用universal_新行支持,但现在我想看看正则表达式是什么。我想要精确的时候使用的正则表达式是
“\r\n?| \n”
当我不关心一致性或空行时,我使用
“[\r\n]+”
,我想象它使我的程序速度提高了0.2%。这种模式可以简化为\r?\n
,以获得一点性能提升,因为你可能不必处理旧的Mac风格(从2002年2月起就不支持OS 9).请注意,\r
是旧的Mac风格(我所说的“旧”是指“OS9及之前”)。任何运行OS X的Mac(又称1999年以后的Mac)都会像任何其他Unix一样使用\n
。什么时候匹配换行与使用'$'
匹配行尾比较有用?@tonfa:当通过正则表达式将文件拆分为行时。@php太多,但str.splitlines()不能正常工作?@tonfa:好,所以不需要经常使用它,但是很高兴知道其他没有方便函数的语言,如splitlines()
。通常当我不关心换行时,我也不关心空格。是什么让你的程序更快?