PCRE2 10.45

PCRE2 10.45

Több mint fél éves fejlesztés után megjelent a 10.45-ös PERL-kompatibilis reguláris kifejezések könyvtár. PCRE2, amely C nyelven íródott és BSD licenc alatt terjesztik. Ez viszonylag nagy kiadás, új funkciókat, néhány hibajavítást és néhány, a visszafelé kompatibilitásra kis hatással lévő módosítást tartalmaz.

A 10.45-ös verzió az új projektkezelők által előkészített első kiadás, akik köszönetet mondanak Philip Hazelnek, a PCRE és PCRE2 projektek létrehozójának és karbantartójának.

Változások listája:

  • A JIT-kompilálási projekt sljit mostantól Git almodulként használatos.
  • Frissítve lett a Unicode adatok verziója 16.
  • A Unicode Ll, Lt és Lu tulajdonságok esetén a kis- és nagybetű érzéketlen egyeztetése megváltozott, hogy megfeleljen a Perl-nek. Korábban a \p{Ll}/i minta csak a kisbetűs karaktereket vette figyelembe (még ha a nagy- és kisbetű érzéketlen egyeztetése is meg volt adva). Ez a módosítás a POSIX osztályok érzéketlen egyeztetésére is hatással van, például a [:lower:] osztályra.
  • Új funkcióként került bevezetésre a scan_substring. Ez egy új típusú állítás, amely a megfogott blokk tartalmát egy al-mintával egyezteti.
    Például a b(w++)(*scan_substring:(1).+rh) kifejezés egy angol nyelvben ritka 'rh' betűsorozatot tartalmazó szót talál, amely nem az elején található.
  • Lehetőség nyílt a Unicode Regular Expressions-hoz kompatibilis karakterosztályok támogatására UTS#18 (Unicode Reguláris Kifejezések) segítségével az új PCRE2_ALT_EXTENDED_CLASS opció használatával. Ehhez [ karaktert kell használni metakarakterként a karakterosztályokban és &&, - és ~~ operátorokat, amelyek lehetővé teszik a karakterosztályok egyszerű kivonását és metszését.
    Például thai vagy görög betűk egyeztetéséhez (de nem a nyelvek írásmódjaiban más betűkhez vagy karakterekhez) a [p{L}&&[p{Thai}||p{Greek}]] kifejezést lehet használni.
  • Keletkezett a Perl stílusú kiterjesztett karakterosztályok támogatása a (?[…]) szintaxis használatával. Ez szintén lehetővé teszi a karakterosztályok kivonását és metszését, de eltérő szintaxis alkalmazásával UTS#18 (Unicode Reguláris Kifejezések).
    Például a thai vagy görög betűk egyeztetésére (de nem más, az írásmódokban előforduló betűk vagy karakterek esetén) a (?[p{L} & (p{Thai} + p{Greek})]) kifejezés használható.
  • Jelentős fejlesztések a karakterosztályok leképezési mechanizmusában. A lefordított karakterosztályok most kompaktabbak, és gyorsabb leképezést biztosítanak nagy vagy összetett karakterkészletek esetén, bináris keresést alkalmazva a készleten.
  • Az API-hoz egy új pcre2_set_optimize() funkció került hozzá, amely az optimalizálások kezelésére szolgál.
  • Számos fejlesztés a pcre2_substitute() funkcióban.
  • Egyéb fejlesztések és hibajavítások.

Forrás: linux.org.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster