PCRE2 10.45

PCRE2 10.45

Dopo oltre sei mesi di sviluppo, è stata rilasciata la versione 10.45 della libreria di espressioni regolari compatibili con PERL PCRE2, scritta in linguaggio C e distribuita sotto licenza BSD. Si tratta di un rilascio relativamente significativo, che include nuove funzionalità, alcune correzioni di bug e alcune modifiche che hanno un impatto limitato sulla compatibilità retroattiva.

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

Elenco delle modifiche:

  • Il progetto di compilazione JIT sljit è ora utilizzato come sottocomponente Git.
  • I dati Unicode sono stati aggiornati alla versione 16.
  • Il confronto insensibile al maiuscolo/minuscolo delle proprietà Unicode Ll, Lt e Lu è stato modificato per conformarsi a Perl. In precedenza, il pattern /p{Ll}/i considerava solo i caratteri minuscoli (anche se era stata specificata una corrispondenza insensibile al maiuscolo/minuscolo). Questa modifica influisce anche sul confronto insensibile al maiuscolo/minuscolo delle classi POSIX, come ad esempio [:lower:].
  • È stata aggiunta una nuova funzione scan_substring. Questo è un nuovo tipo di dichiarazione che confronta il contenuto di un blocco catturato con un sottopattern.
    Ad esempio, l'espressione b(w++)(*scan_substring:(1).+rh) trova una parola che contiene una rara sequenza di lettere "rh" nella lingua inglese, non all'inizio.
  • È stata aggiunta la supporto per classi di caratteri compatibili con UTS#18 (Espressioni Regolari Unicode), tramite una nuova opzione PCRE2_ALT_EXTENDED_CLASS. Per questo, è necessario utilizzare [ come metacarattere nelle classi di caratteri e gli operatori &&, - e ~~ permettono facilmente di eseguire sottrazioni e intersezioni di classi di caratteri.
    Ad esempio, per confrontare le lettere tailandesi o greche (ma non le lettere o altri caratteri in questi scritture) si può utilizzare l'espressione [p{L}&&[p{Thai}||p{Greek}]].
  • È stata aggiunta la supporto per classi di caratteri estese in stile Perl, utilizzando la sintassi (?[…]). Questo permette anche di esprimere sottrazioni e intersezioni di classi di caratteri, ma utilizzando una sintassi diversa da UTS#18 (Espressioni Regolari Unicode).
    Ad esempio, per confrontare le lettere tailandesi o greche (ma non le lettere o altri caratteri in questi scritture) si può utilizzare l'espressione (?[p{L} & (p{Thai} + p{Greek})]).
  • Significativi miglioramenti nel meccanismo di corrispondenza delle classi di simboli. Le classi di simboli compilate sono ora più compatte e offrono una corrispondenza più rapida per grandi o complessi set di simboli, utilizzando la ricerca binaria all'interno del set.
  • È stata aggiunta una nuova funzione pcre2_set_optimize() all'API per gestire le ottimizzazioni.
  • Numerosi miglioramenti della 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