PCRE2 10.45

PCRE2 10.45

Po více než půl roku vývoje byl vydán 10.45 knihovny pravidelných výrazů kompatibilních s PERL. PCRE2, napsaná v jazyce C a šířená pod licencí BSD. Jedná se o poměrně velké vydání, které zahrnuje nové funkce, některé opravy chyb a několik změn, které mají malý dopad na zpětnou kompatibilitu.

Verze 10.45 je prvním vydáním, které připravili noví správcové projektu, kteří děkují Philipu Hazelovi, tvůrci a správci projektů PCRE a PCRE2.

Seznam změn:

  • Projekt JIT-kompilace sljit je nyní používán jako submodul Git.
  • Byla aktualizována data Unicode na verzi 16.
  • Nesenzitivní porovnávání vlastností Unicode Ll, Lt a Lu bylo změněno tak, aby odpovídalo Perl. Dřívější vzor /p{Ll}/i bral v úvahu pouze znaky malého písmene (i když bylo uvedeno porovnání bez ohledu na velikost písmen). Tato změna se také dotýká nesenzitivního porovnání tříd POSIX, například [:lower:].
  • Byla přidána nová funkce scan_substring. To je nový typ prohlášení, které porovnává obsah zachyceného bloku s podvzorem.
    Například výraz b(w++)(*scan_substring:(1).+rh) nalezne slovo obsahující v angličtině vzácnou sekvenci písmen „rh“, která není na samém začátku.
  • Byla přidána podpora tříd znaků kompatibilních s UTS#18 (Unicode Regular Expressions) pomocí nové možnosti PCRE2_ALT_EXTENDED_CLASS. K tomu je třeba použít [ jako metaznak ve znakových třídách a operátory &&, — a ~~ což usnadňuje provádění rozdílů a průniků znakových tříd.
    Například pro porovnání thajských nebo řeckých písmen (ale ne písmen a dalších znaků v těchto písmenech) lze použít výraz [p{L}&&[p{Thai}||p{Greek}]].
  • Byla přidána podpora rozšířených tříd znaků ve stylu Perl pomocí syntaxe (?[…]). To také umožňuje vyjadřovat rozdíly a průniky znakových tříd, ale s použitím syntaxe odlišné od UTS#18 (Unicode Regular Expressions).
    Například pro porovnání thajských nebo řeckých písmen (ale ne písmen a dalších znaků v těchto písmenech) lze použít výraz (?[p{L} & (p{Thai} + p{Greek})]).
  • Významná vylepšení v mechanismu porovnávání tříd znaků. Skompilované třídy znaků jsou nyní kompaktnější a umožňují rychlejší porovnávání pro velké nebo složité sady znaků pomocí binárního vyhledávání v sadě.
  • Do API byla přidána nová funkce pcre2_set_optimize() pro správu optimalizací.
  • Spousta vylepšení funkce pcre2_substitute().
  • Další vylepšení a opravy chyb.

Zdroj: linux.org.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster