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

64 投票
2 回答
27168 浏览
提问于 2025-04-15 13:52

我的程序可以处理包含换行符的数据,这些换行符可以是\n、\r\n或者\r(比如Unix、PC或Mac的格式)

有没有什么好的方法来写一个正则表达式,能够匹配这些不同的换行符呢?

另外,我也可以在输入时使用通用换行符的支持,但我现在想看看正则表达式应该怎么写。

2 个回答

10

这个模式可以简化为 \r?\n,这样可以稍微提高性能,因为你可能不需要处理旧版Mac的格式(OS 9自2002年2月起就不再支持了)。

99

我在需要精确匹配的时候,会用这个正则表达式:"\r\n?|\n"

而当我不太在乎格式一致性或者空行的时候,我会用这个:"[\r\n]+",我觉得这样可以让我的程序快个大约0.2%。

撰写回答