PCRE2 10.45

PCRE2 10.45

Dopo più di sei mesi di sviluppo, è stata rilasciata la versione 10.45 della libreria delle espressioni regolari compatibili con PERL PCRE2, scritta in C e distribuita con licenza BSD. Si tratta di un rilascio piuttosto importante, che include nuove funzionalità, alcune correzioni di bug e alcuni cambiamenti che hanno un impatto minimo sulla retrocompatibilità.

La versione 10.45 è il primo rilascio preparato dai nuovi manutentori del progetto, che ringraziano Philip Hazel, il creatore e manutentore dei progetti PCRE e PCRE2.

Elenco delle modifiche:

  • Il progetto di compilazione JIT sljit è ora utilizzato come sotto-modulo Git.
  • I dati Unicode sono stati aggiornati alla versione 16.
  • Il confronto case-insensitive delle proprietà Unicode Ll, Lt e Lu è stato modificato per essere conforme a Perl. In precedenza, il modello /p{Ll}/i considerava solo i caratteri minuscoli (anche se era stata specificata la corrispondenza case-insensitive). Questa modifica influisce anche sulle corrispondenze case-insensitive delle classi POSIX, come ad esempio [:lower:].
  • È stata aggiunta una nuova funzione scan_substring. Si tratta di un nuovo tipo di affermazione che confronta il contenuto di un blocco catturato con un sotto-pattern.
    Ad esempio, l’espressione b(w++)(*scan_substring:(1).+rh) trova una parola che contiene la rara sequenza di lettere “rh”, non all’inizio.
  • È stato aggiunto il supporto per classi di caratteri compatibili con UTS#18 (Espressioni Regolari Unicode), attraverso una nuova opzione PCRE2_ALT_EXTENDED_CLASS. Per questo si deve utilizzare [ come metacarattere nelle classi di caratteri e gli operatori &&, - e ~~ che consentono di eseguire facilmente operazioni di sottrazione e intersezione tra classi di caratteri.
    Ad esempio, per corrispondere a caratteri thailandesi o greci (ma non a lettere o altri simboli in queste scritture) si può utilizzare l'espressione [p{L}&&[p{Thai}||p{Greek}]].
  • È stato aggiunto il supporto per classi di caratteri estese in stile Perl, utilizzando la sintassi (?[…]). Questo consente anche di esprimere sottrazioni e intersezioni di classi di caratteri, ma utilizzando una sintassi diversa da UTS#18 (Espressioni Regolari Unicode).
    Ad esempio, per corrispondere a caratteri thailandesi o greci (ma non a lettere o altri simboli in queste scritture) si può utilizzare l'espressione (?[p{L} & (p{Thai} + p{Greek})]).
  • Significativi miglioramenti nel meccanismo di confronto delle classi di caratteri. Le classi di caratteri compilate ora sono più compatte e garantiscono una corrispondenza più rapida per grandi o complesse collezioni di caratteri, utilizzando una ricerca binaria attraverso il set.
  • È stata aggiunta una nuova funzione API pcre2_set_optimize() per gestire le ottimizzazioni.
  • Molteplici miglioramenti alla funzione pcre2_substitute().
  • Altri miglioramenti e correzioni di bug.

Fonte: linux.org.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster