Emparejar los carácters de Newline en R Regex

Gustavo du Mortier 11 diciembre 2023
  1. Secuencias de nuevas líneas en diferentes entornos
  2. Pruebe el Regex con las secuencias de la nueva línea
Emparejar los carácters de Newline en R Regex

Aunque las expresiones regulares (regex para abreviar) son una forma bastante universal de definir los patrones de las cadenas, esos patrones pueden comportarse de manera diferente en diferentes plataformas, particularmente cuando el regex intenta hacer coincidir caracteres especiales, como los saltos de línea. En este artículo, analizaremos diferentes formas de incluir los saltos de línea dentro de las expresiones regulares en R.

Secuencias de nuevas líneas en diferentes entornos

En los entornos Linux, el patrón \n coincide con una nueva secuencia de líneas. En Windows, sin embargo, el salto de línea coincide con \r, y en las viejas Macs, con \r.

Si necesitas una expresión regular que coincida con una secuencia de nueva línea en cualquiera de esas plataformas, puedes usar el patrón \r para que coincida con las secuencias de caracteres de terminación de línea de \n y \r\n.

Tendrás los entornos Linux y Windows cubiertos con esa opción, aunque el patrón no coincidirá adecuadamente con los saltos de línea en las viejas Macs. Para cubrir también las Macs antiguas, podrías usar el patrón \r?\n|\r que también coincide con el \r. Una versión más correcta de este patrón sería: (\r\n|\r|\n).

Pruebe el Regex con las secuencias de la nueva línea

Muchos sitios web ofrecen la posibilidad de probar las expresiones regulares. La mayoría de ellos funcionan como entornos Linux, encontrando coincidencias en las cadenas con las líneas de alimentación cuando se prueba el patrón \n. Pero no encuentran una coincidencia cuando se prueba el patrón \r\n. Ejemplos de estos sitios son Regex101 y Regexr.

Otros sitios web de prueba podrían mostrar comportamientos diferentes, como sucede con diferentes entornos operativos. Por ejemplo, Regex Storm funciona más como las plataformas de Windows, encontrando coincidencias entre las cadenas con saltos de línea y el patrón \r\n.

Artículo relacionado - R Regex