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

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

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

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

2 ответа

Решение

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

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

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

Другие вопросы по тегам