Dopu più di mezu annu di sviluppu, 10.45 di a biblioteca di espressioni regulari cumpatibili PERL hè stata liberata PCRE2, scrittu in C è distribuitu sottu a licenza BSD. Questa hè una liberazione relativamente grande, cumprese funzioni novi, alcune correzioni di bug, è uni pochi di cambiamenti chì anu un impattu minore nantu à a cumpatibilità inversa.
A versione 10.45 hè a prima liberazione preparata da i novi manutentori di u prughjettu, chì ringrazianu à Philip Hazel, u creatore è u mantene di i prughjetti PCRE è PCRE2.
Lista di cambiamenti:
- Prughjettu di compilazione JIT sljit avà usatu cum'è un submodulu Git.
- Dati Unicode aghjurnati à a versione 16.
- A mappatura insensibile à u casu di e proprietà Unicode Ll, Lt è Lu hè stata cambiata per currisponde à Perl. Auparavant, le modèle /p{Ll}/i ne correspondait qu'aux caractères minuscules (même s'il était précisé qu'une correspondance insensible à la casse). Stu cambiamentu afecta ancu a corrispondenza insensibile à u casu di e classi POSIX cum'è [:lower:].
- Aggiunta una nova funzione scan_substring. Questu hè un novu tipu d'affirmazioni chì currisponde à u cuntenutu di un bloccu di catturazione contr'à un subpattern.
Per esempiu, l'espressione b(w++)(*scan_substring:(1).+rh) trova una parolla chì cuntene a rara sequenza di lettere inglese "rh" chì ùn hè micca à u principiu. - Aghjunghje supportu per classi di caratteri cumpatibili cù UTS #18 (Espressioni Regular Unicode), utilizendu a nova opzione PCRE2_ALT_EXTENDED_CLASS. Per fà questu, avete bisognu di utilizà [ cum'è metacaratteru in classi di caratteri è l'operatori &&, —, è ~~, chì vi permette di fà facilmente sottrazioni è intersezioni di classi di caratteri.
Per esempiu, per currisponde à e lettere tailandesi o greche (ma micca lettere o altri caratteri in questi script), pudete aduprà l'espressione [p{L}&&[p{Thai}||p{Greek}]]. - Aghjunghje supportu per e classi di caratteri estesi in stile Perl utilizendu a sintassi (?[…]). Questu permette ancu e sottrazioni è intersezioni di e classi di caratteri per esse espresse, ma cù una sintassi sfarente da UTS #18 (Espressioni Regular Unicode).
Per esempiu, per currisponde à e lettere tailandesi o greche (ma micca lettere o altri caratteri in questi script), pudete aduprà l'espressione (?[p{L} & (p{Thai} + p{Greek})]). - Migliuramenti significativi à u mecanismu di currispundenza di classi di caratteri. E classi di caratteri cumpilati sò oghji più compacti è furniscenu una corrispondenza più veloce per setti di caratteri grandi o cumplessi utilizendu a ricerca binaria nantu à u settore.
- Una nova funzione pcre2_set_optimize() hè stata aghjunta à l'API per gestisce l'ottimisazioni.
- Parechji migliure à a funzione pcre2_substitute().
- Altre migliure è correzioni di bug.
Source: linux.org.ru
