PCRE2 10.45

PCRE2 10.45

Após mais de seis meses de desenvolvimento, foi lançado o versão 10.45 da biblioteca de expressões regulares compatíveis com PERL. PCRE2, escrita em C e distribuída sob a licença BSD. Este é um lançamento relativamente grande, incluindo novas funcionalidades, algumas correções de bugs e várias mudanças que têm um impacto menor na compatibilidade retroativa.

A versão 10.45 é o primeiro lançamento preparado pelos novos mantenedores do projeto, que agradecem a Philip Hazel, criador e mantenedor dos projetos PCRE e PCRE2.

Lista de mudanças:

  • O projeto JIT-compilation sljit agora é utilizado como um submódulo Git.
  • Os dados do Unicode foram atualizados para a versão 16.
  • A correspondência de propriedades Unicode Ll, Lt e Lu, que não diferencia maiúsculas de minúsculas, foi alterada para corresponder ao Perl. Anteriormente, o padrão /p{Ll}/i considerava apenas caracteres minúsculos (mesmo que a correspondência sem considerar maiúsculas fosse especificada). Essa mudança também afeta a correspondência sem distinção de maiúsculas de classes POSIX, como por exemplo [:lower:].
  • Foi adicionada uma nova função scan_substring. Este é um novo tipo de afirmação que combina o conteúdo de um bloco capturado com um sub-padrão.
    Por exemplo, a expressão b(w++)(*scan_substring:(1).+rh) encontra uma palavra contendo a sequência de letras 'rh', que é rara na língua inglesa e que não está no início.
  • Foi adicionada a compatibilidade com classes de caracteres que respeitam UTS#18 (Expressões Regulares Unicode), através da nova opção PCRE2_ALT_EXTENDED_CLASS. Para isso, deve-se usar [ como metacaractere nas classes de caracteres e os operadores &&, — e ~~ que permitem facilmente realizar subtrações e interseções de classes de caracteres.
    Por exemplo, para combinar letras tailandesas ou gregas (mas não letras ou outros caracteres dessas escritas), pode-se usar a expressão [p{L}&&[p{Thai}||p{Greek}]].
  • Foi adicionada a compatibilidade com classes de caracteres expandidas no estilo Perl, utilizando a sintaxe (?[…]). Isso também permite expressar subtrações e interseções de classes de caracteres, mas com uma sintaxe diferente de UTS#18 (Expressões Regulares Unicode).
    Por exemplo, para combinar letras tailandesas ou gregas (mas não letras ou outros caracteres dessas escritas), pode-se usar a expressão (?[p{L} & (p{Thai} + p{Greek})]).
  • Melhorias significativas no mecanismo de correspondência de classes de caracteres. As classes de caracteres compiladas agora são mais compactas e oferecem correspondência mais rápida para grandes ou complexos conjuntos de caracteres, utilizando busca binária no conjunto.
  • Uma nova função pcre2_set_optimize() foi adicionada à API para gerenciar otimizações.
  • Várias melhorias na função pcre2_substitute().
  • Outras melhorias e correções de bugs.

Fonte: linux.org.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster