PĂ€rast ĂŒle kuue kuu kestnud arendust on vĂ€lja antud PERL-ĂŒhilduvate regulaaravaldiste 10.45 versioon. PCRE2, mis on kirjutatud C keeles ja jaotatud BSD litsentsi alusel. See on suhteliselt suur vĂ€ljaanne, mis sisaldab uusi funktsioone, mĂ”ningaid veaparandusi ja mitmeid muudatusi, millel on vĂ€ike mĂ”ju tagurpidi ĂŒhilduvusele.
Versioon 10.45 on esimene vÀljaanne, mille on ette valmistanud uued projekti hooldajad, kes tÀnavad Philip Hayzelt, PCRE ja PCRE2 projektide loonud ja hooldajat.
Muutuste nimekiri:
- JIT-kompileerimise projekt sljit kasutatakse nĂŒĂŒd Git alammodulina.
- Unicode andmed on vÀrskendatud versioonile 16.
- TĂ€htede Unicode omaduste Ll, Lt ja Lu puhul oli suurusjĂ€rku arvestav vĂ”rdlemine muudetud, et vastata Perlâile. Varem arvesse vĂ”etud mall \/p{Ll}\/i arvestas ainult vĂ€ikeseid tĂ€hti (isegi kui suurust mitte arvesse vĂ”tmine oli mÀÀratud). See muudatus mĂ”jutab ka suurusjĂ€rku arvestamata POSIX klasside vĂ”rdlemist, nĂ€iteks [:lower:].
- Uus funktsioon scan_substring on lisatud. See on uus tĂŒĂŒp vĂ€idet, mis vĂ”rdleb haaratava ploki sisu alammalliga.
NĂ€iteks avaldis b(w++)(*scan_substring:(1).+rh) leiab sĂ”na, mis sisaldab haruldast inglise keeles tĂ€hte ârhâ, mis ei ole lause alguses. - Lisatud tugi sĂŒmbolklasside jaoks, mis on ĂŒhilduvad UTS#18 (Unicode Regulaaravaldised), uus PCRE2_ALT_EXTENDED_CLASS valikuga. Selleks tuleb kasutada [ meta-sĂŒmbolina sĂŒmbolklassides ja operaatoritega &&, â ja ~~ , mis vĂ”imaldab lihtsasti teostada klasside sĂŒmbolite lahutusi ja ristumisi.
NĂ€iteks Tai vĂ”i Kreeka tĂ€htede (kuid mitte nendes kirjutistes olevate tĂ€htede vĂ”i muude sĂŒmbolite) vastamiseks vĂ”ib kasutada avaldist [p{L}&&[p{Thai}||p{Greek}]]. - Lisatud Perlâiga stiilis laiendatud sĂŒmbolklasside tugi, kasutades sĂŒntaksit (?[âŠ]). See vĂ”imaldab samuti vĂ€ljendada lahutusi ja ristumisi sĂŒmbolklasside seas, kuid erineva sĂŒntaksiga kui UTS#18 (Unicode Regulaaravaldised).
NĂ€iteks Tai vĂ”i Kreeka tĂ€htede (kuid mitte nendes kirjutistes olevate tĂ€htede vĂ”i muude sĂŒmbolite) vastamiseks vĂ”ib kasutada avaldist (?[p{L} & (p{Thai} + p{Greek})]). - Olulised tĂ€iustused sĂŒmbolite klasside vastavuse mehhanismis. Koostatud sĂŒmboliklassid on nĂŒĂŒd kompaktsemad ja pakuvad kiiremat vastavust suurte vĂ”i keerukate sĂŒmbolikogumite korral, kasutades binaarset otsingut kogumi jĂ€rgi.
- API-sse on lisatud uus funktsioon pcre2_set_optimize(), et hallata optimeerimisi.
- Palju tÀiustusi funktsioonis pcre2_substitute().
- Muud parendused ja veaparandused.
Allikas: linux.org.ru
