PCRE2 10.45

PCRE2 10.45

Después de más de medio año de desarrollo, se lanzó la versión 10.45 de la biblioteca de expresiones regulares compatibles con PERL. PCRE2, escrita en lenguaje C y distribuida bajo la licencia BSD. Esta es una versión relativamente importante que incluye nuevas funciones, correcciones de errores y algunos cambios con un impacto menor en la compatibilidad hacia atrás.

La versión 10.45 es la primera lanzada por los nuevos mantenedores del proyecto, quienes agradecen a Philip Hazel, el creador y mantenedor de los proyectos PCRE y PCRE2.

Lista de cambios:

  • El proyecto de compilación JIT sljit ahora se utiliza como submódulo de Git.
  • Se actualizaron los datos de Unicode a la versión 16.
  • La coincidencia de propiedades Unicode Ll, Lt y Lu que no distingue entre mayúsculas y minúsculas se ha modificado para cumplir con Perl. Anteriormente, el patrón /p{Ll}/i solo consideraba caracteres en minúscula (a pesar de que se indicara que la coincidencia no era sensible a mayúsculas). Este cambio también afecta la coincidencia de clases POSIX que no distinguen entre mayúsculas y minúsculas, como por ejemplo [:lower:].
  • Se agregó una nueva función scan_substring. Este es un nuevo tipo de afirmación que coincide con el contenido de un bloque capturado con un subpatrón.
    Por ejemplo, la expresión b(w++)(*scan_substring:(1).+rh) encuentra una palabra que contiene la rara secuencia de letras 'rh' en inglés, que no está al principio.
  • Se agregó soporte para clases de símbolos compatibles con UTS#18 (Expresiones Regulares Unicode), mediante la nueva opción PCRE2_ALT_EXTENDED_CLASS. Para esto, se debe usar [ como metacaracter en clases de caracteres y los operadores &&, - y ~~ que permiten realizar fácilmente restas e intersecciones de clases de caracteres.
    Por ejemplo, para coincidir con letras tailandesas o griegas (pero no con letras u otros símbolos en esas escrituras) se puede usar la expresión [p{L}&&[p{Thai}||p{Greek}]].
  • Se agregó soporte para clases de caracteres extendidas al estilo Perl, utilizando la sintaxis (?[…]). Esto también permite expresar restas e intersecciones de clases de caracteres, pero utilizando una sintaxis diferente a la de UTS#18 (Expresiones Regulares Unicode).
    Por ejemplo, para coincidir con letras tailandesas o griegas (pero no con letras u otros símbolos en esas escrituras) se puede usar la expresión (?[p{L} & (p{Thai} + p{Greek})]).
  • Mejoras significativas en el mecanismo de coincidencia de clases de caracteres. Las clases de caracteres compiladas son ahora más compactas y permiten una coincidencia más rápida para conjuntos de caracteres grandes o complejos, utilizando búsqueda binaria en el conjunto.
  • Se ha añadido una nueva función pcre2_set_optimize() en la API para gestionar las optimizaciones.
  • Numerosas mejoras en la función pcre2_substitute().
  • Otras mejoras y correcciones de errores.

Fuente: linux.org.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster