PCRE2 10.45

PCRE2 10.45

Po več kot šestih mesecih razvoja je izšla različica 10.45 knjižnice, združljive s PERL, za regularne izraze. PCRE2, napisana v jeziku C in distribuirana pod BSD licenco. To je relativno velik izid, ki vključuje nove funkcionalnosti, nekatere popravke napak in nekaj sprememb, ki imajo majhen vpliv na nazaj združljivost.

Različica 10.45 je prvi izid, ki so ga pripravili novi vzdrževalci projekta, ki se zahvaljujejo Philipu Hazelju, ustvarjalcu in vzdrževalcu projektov PCRE in PCRE2.

Seznam sprememb:

  • Projekt JIT-kompilacije sljit sedaj se uporablja kot podmodul Git.
  • Podatki o Unikodu so posodobljeni na različico 16.
  • Neobčutljivo na velike in male črke ujemanje lastnosti Unikoda Ll, Lt in Lu je bilo spremenjeno, da se ujema s Perlom. Prej je vzorec /p{Ll}/i upošteval samo znake malega tiska (tudi če je bilo določeno ujemanje brez nepravilnosti). Ta sprememba vpliva tudi na neobčutljivo ujemanje razredov POSIX, kot je na primer [:lower:].
  • Dodana je nova funkcija scan_substring. To je nova vrsta izjave, ki ujema vsebino zajetega bloka s podizrazom.
    Na primer, izraz b(w++)(*scan_substring:(1).+rh) poišče besedo, ki vsebuje redko zaporedje črk 'rh', ki ni na začetku.
  • Dodana je podpora za razrede znakov, združljive z UTS#18 (Regularni izrazi Unikoda), z novo možnostjo PCRE2_ALT_EXTENDED_CLASS. Za to je treba uporabiti [ kot metakarakter v razredih znakov in operaterje &&, — in ~~ , kar omogoča enostavno izvajanje odštevanja in presekov razredov znakov.
    Na primer, za ujemanje tajskih ali grških črk (vendar ne črk ali drugih znakov v teh pisavah) lahko uporabite izraz [p{L}&&[p{Thai}||p{Greek}]].
  • Dodana je podpora za razširjene razrede znakov v slogu Perla z uporabo sintakse (?[…]). To prav tako omogoča izražanje odštevanja in presekov razredov znakov, vendar z uporabo sintakse, ki se razlikuje od UTS#18 (Regularni izrazi Unikoda).
    Na primer, za ujemanje tajskih ali grških črk (vendar ne črk ali drugih znakov v teh pisavah) lahko uporabite izraz (?[p{L} & (p{Thai} + p{Greek})]).
  • Pomembne izboljšave v mehanizmu ujemanja razredov znakov. Kompilerjeni razredi znakov so zdaj bolj kompaktni in zagotavljajo hitrejše ujemanje za velike ali kompleksne nize znakov z uporabo binarnega iskanja po nizu.
  • Nova funkcija pcre2_set_optimize() je bila dodana v API za upravljanje optimizacij.
  • Številne izboljšave funkcije pcre2_substitute().
  • Andere verbeteringen en bugfixes.

Izvor: linux.org.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster