Регулярное выражение для сопоставления символов новой строки

Моя программа может принимать данные с символами новой строки \n,\r\n или\r (например, Unix, PC или Mac)

Каков наилучший способ создания регулярного выражения, которое будет соответствовать любому кодированию?

В качестве альтернативы я мог бы использовать поддержку universal_newline для ввода, но теперь мне интересно узнать, что такое регулярное выражение.

Ответ 1

Регулярное выражение, которое я использую, когда хочу быть точным, "\r\n?|\n".

Когда меня не интересуют согласованность или пустые строки, я использую "[\r\n]+", я полагаю, что он делает мои программы где-то в порядке 0.2% быстрее.

Ответ 2

Шаблон можно упростить до \r?\n для небольшого прироста производительности, поскольку вам, вероятно, не придется иметь дело со старым стилем Mac (OS 9 не поддерживается с февраля 2002 года).