Регулярное выражение для соответствия кросс-платформенным символам новой строки
Моя программа может принимать данные с символами новой строки \ n, \ r \ n или \r (например, стили Unix, ПК или Mac)
Каков наилучший способ создания регулярного выражения, которое будет соответствовать любой кодировке?
В качестве альтернативы, я мог бы использовать поддержку universal_newline для ввода, но теперь мне интересно посмотреть, каким будет регулярное выражение.
2 ответа
Когда я хочу быть точным, я использую регулярное выражение "\r\n?|\n"
,
Когда меня не интересует последовательность или пустые строки, я использую "[\r\n]+"
Я предполагаю, что это делает мои программы где-то на 0,2% быстрее.
Шаблон может быть упрощен до \r?\n
для небольшого прироста производительности, поскольку вам, вероятно, не придется иметь дело со старым стилем Mac (OS 9 не поддерживается с февраля 2002 года).