Efter över ett halvÄrs utveckling slÀpptes version 10.45 av biblioteket för PERL-kompatibla reguljÀra uttryck PCRE2, skriven i C och distribuerad under BSD-licensen. Detta Àr en relativt stor release som inkluderar nya funktioner, nÄgra buggfixar och ett par Àndringar som har en blygsam pÄverkan pÄ bakÄtkompatibiliteten.
Version 10.45 Àr den första releasen som förberetts av de nya projektutvecklarna, som tackar Philip Hazel, skaparen och projektledaren för PCRE och PCRE2.
Ăndringslista:
- Projektet JIT-kompilering sljit anvÀnds nu som en Git-submodul.
- Unicode-data har uppdaterats till version 16.
- Skrivning av Unicode-egenskaper Ll, Lt och Lu utan att ta hÀnsyn till storleken har Àndrats för att överensstÀmma med Perl. Tidigare tog mönstret /p{Ll}/i endast hÀnsyn till lÄga bokstÀver (Àven om det angavs att mönstret skulle vara fallet oberoende). Denna Àndring pÄverkar ocksÄ case insensitive matchning av POSIX-klasser, sÄsom [:lower:].
- En ny funktion scan_substring har lagts till. Det handlar om en ny typ av pÄstÄende som matchar innehÄllet i en fÄngad block mot en under-mall.
Till exempel, uttrycket b(w++)(*scan_substring:(1).+rh) hittar ett ord som innehĂ„ller den sĂ€llsynta sekvensen av bokstĂ€ver "rh" i engelskan, som inte Ă€r i början. - Stöd för symbolklasser som Ă€r kompatibla med UTS#18 (Unicode Regular Expressions), har lagts till med hjĂ€lp av den nya alternativet PCRE2_ALT_EXTENDED_CLASS. För detta ska [ anvĂ€ndas som en metatecken i symbolklasser och operatörerna &&, â och ~~ vilket gör det enkelt att utföra subtraktioner och föreningar av symbolklasser.
Till exempel, för att matcha thailĂ€ndska eller grekiska bokstĂ€ver (men inte bokstĂ€ver eller andra tecken i dessa skriftsystem) kan uttrycket [p{L}&&[p{Thai}||p{Greek}]] anvĂ€ndas. - Stöd för utökade symbolklasser i stil med Perl har lagts till med syntaxen (?[âŠ]). Detta lĂ„ter ocksĂ„ uttrycka subtraktioner och föreningar av symbolklasser men med en syntax som skiljer sig frĂ„n UTS#18 (Unicode Regular Expressions).
Till exempel, för att matcha thailÀndska eller grekiska bokstÀver (men inte bokstÀver eller andra tecken i dessa skriftsystem) kan uttrycket (?[p{L} & (p{Thai} + p{Greek})]) anvÀndas. - Betydande förbÀttringar i mekanismen för matchning av teckenkategorier. De kompilerade teckenkategorierna Àr nu mer kompakt och möjliggör snabbare matchning för stora eller komplexa teckenset genom att anvÀnda binÀr sökning i uppsÀttningen.
- En ny funktion pcre2_set_optimize() har lagts till i API:et för att hantera optimeringar.
- MÄnga förbÀttringar av funktionen pcre2_substitute().
- Andra förbÀttringar och buggfixar.
KĂ€lla: linux.org.ru
