Expresión regular para coincidir con caracteres de nueva línea multiplataforma
Mi programa puede aceptar datos que tienen caracteres de nueva línea de \n, \r\n o \r (por ejemplo, estilos Unix, PC o Mac)
¿Cuál es la mejor manera de construir una expresión regular que coincida con cualquiera que sea la codificación?
Alternativamente, podría usar el soporte universal_newline en la entrada, pero ahora estoy interesado en ver cuál sería la expresión regular.
2 answers
La expresión regular que uso cuando quiero ser preciso es "\r\n?|\n"
.
Cuando no estoy preocupado por la consistencia o las líneas vacías, uso "[\r\n]+"
, imagino que hace que mis programas en algún lugar del orden de 0.2% más rápido.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-26 01:02:00
El patrón se puede simplificar a \r?\n
para una pequeña ganancia de rendimiento, ya que probablemente no tenga que lidiar con el viejo estilo Mac (OS 9 no es compatible desde febrero de 2002).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-01 10:17:45