PĂ€rast enam kui pooleaastast arendustööd on vĂ€lja antud 10.45 PERL-iga ĂŒhilduvat regulaaravaldiste raamatukogu PCRE2, mis on kirjutatud C-keeles ja mida levitatakse BSD litsentsi all. See on suhteliselt suur vĂ€ljalase, mis sisaldab uusi funktsioone, mĂ”ningaid veaparandusi ja mĂ”ningaid muudatusi, millel on tagasiĂŒhilduvusele vĂ€ike mĂ”ju.
Versioon 10.45 on esimene vÀljalase, mille on koostanud uued projekti hooldajad, kes tÀnavad Philip Hazelit, PCRE ja PCRE2 projektide loojat ja hooldajat.
Muudatuste loend:
- JIT koostamise projekt sljit kasutatakse nĂŒĂŒd Giti alammoodulina.
- Unicode'i andmed vÀrskendati versioonile 16.
- Unicode'i Ll, Lt ja Lu atribuutide tÔstutundlik vastendus on muudetud Perlile vastavaks. Varem sobis /p{Ll}/i muster ainult vÀiketÀhtedega (isegi kui mÀÀrati tÔstutundlik sobitamine). See muudatus mÔjutab ka POSIX-klasside (nt [:lower:]) tÔstutundlikku sobitamist.
- Lisatud uus funktsioon scan_substring. See on uut tĂŒĂŒpi vĂ€ide, mis sobitab hĂ”ivamisploki sisu alammustriga.
NĂ€iteks avaldis b(w++)(*scan_substring:(1).+rh) leiab sĂ”na, mis sisaldab haruldast ingliskeelset tĂ€hejada "rh", mis ei ole pĂ€ris alguses. - Lisatud tugi mĂ€rgiklassidele, mis ĂŒhilduvad UTS nr 18 (Unicode'i regulaaravaldised), kasutades uut suvandit PCRE2_ALT_EXTENDED_CLASS. Selleks tuleb mĂ€rgiklassides kasutada metamĂ€rgina [ ja tehteid &&, â ja ~~, mis vĂ”imaldab hĂ”lpsasti sooritada mĂ€rgiklasside lahutamisi ja lĂ”ikeid.
NĂ€iteks tai vĂ”i kreeka tĂ€htede (kuid mitte tĂ€htede vĂ”i muude nende kirjade tĂ€hemĂ€rkide) vastendamiseks vĂ”ite kasutada vĂ€ljendit [p{L}&&[p{Thai}||p{kreeka}]]. - Lisatud tugi Perli stiilis laiendatud mĂ€rgiklassidele, kasutades sĂŒntaksit (?[âŠ]). Samuti vĂ”imaldab see vĂ€ljendada mĂ€rgiklasside lahutamisi ja lĂ”ikeid, kuid kasutades teistsugust sĂŒntaksit kui UTS nr 18 (Unicode'i regulaaravaldised).
NĂ€iteks tai vĂ”i kreeka tĂ€htede (kuid mitte tĂ€htede ega muude nende kirjade tĂ€hemĂ€rkide) vastendamiseks vĂ”ite kasutada vĂ€ljendit (?[p{L} & (p{Tai} + p{kreeka})]). - MĂ€rgiklasside sobitamise mehhanismi olulised tĂ€iustused. Kompileeritud mĂ€rgiklassid on nĂŒĂŒd kompaktsemad ja pakuvad kiiremat sobitamist suurte vĂ”i keerukate mĂ€rgikomplektide jaoks, kasutades komplekti binaarset otsingut.
- API-le on optimeerimiste haldamiseks lisatud uus funktsioon pcre2_set_optimize().
- Funktsiooni pcre2_substitute() palju tÀiustusi.
- Muud tÀiustused ja veaparandused.
Allikas: linux.org.ru
