Baada ya zaidi ya nusu mwaka wa maendeleo, 10.45 ya maktaba ya usemi ya kawaida inayoendana na PERL imetolewa. PCRE2, iliyoandikwa kwa C na kusambazwa chini ya leseni ya BSD. Hili ni toleo kubwa, ikiwa ni pamoja na vipengele vipya, baadhi ya marekebisho ya hitilafu na mabadiliko machache ambayo yana athari ndogo kwenye uoanifu wa nyuma.
Toleo la 10.45 ndilo toleo la kwanza lililotayarishwa na wasimamizi wapya wa mradi, ambao wanamshukuru Philip Hazel, mtayarishaji na mtunzaji wa miradi ya PCRE na PCRE2.
Orodha ya mabadiliko:
- Mradi wa ujumuishaji wa JIT sljit sasa inatumika kama moduli ndogo ya Git.
- Ilisasisha data ya Unicode hadi toleo 16.
- Uchoraji usiojali kesi wa sifa za Unicode Ll, Lt, na Lu umebadilishwa ili kuendana na Perl. Hapo awali, muundo wa /p{Ll}/i ulilingana na herufi ndogo pekee (hata kama ulinganishaji usiojali kisa ulibainishwa). Mabadiliko haya pia huathiri ulinganifu usiojali kesi wa madarasa ya POSIX kama vile [:lower:].
- Imeongeza utendakazi mpya scan_substring. Hii ni aina mpya ya madai ambayo inalingana na yaliyomo kwenye kizuizi cha kunasa dhidi ya muundo mdogo.
Kwa mfano, usemi b(w++)(*scan_substring:(1)+rh) hupata neno ambalo lina mfuatano wa nadra wa herufi ya Kiingereza "rh" ambayo haipo mwanzoni kabisa. - Usaidizi ulioongezwa kwa madarasa ya wahusika yanayolingana na UTS#18 (Unicode Regular Expressions), kwa kutumia chaguo jipya la PCRE2_ALT_EXTENDED_CLASS. Ili kufanya hivyo, unahitaji kutumia [ kama metacharacter katika madarasa ya wahusika na waendeshaji &&, - na ~~, ambayo hukuruhusu kutekeleza kwa urahisi uondoaji na makutano ya madarasa ya wahusika.
Kwa mfano, ili kulinganisha herufi za Kitai au Kigiriki (lakini si herufi au herufi nyinginezo katika hati hizo), unaweza kutumia usemi [p{L}&&[p{Thai}||p{Greek}]]. - Usaidizi umeongezwa kwa madarasa ya wahusika yaliyopanuliwa ya mtindo wa Perl kwa kutumia sintaksia ya (?[...]). Pia inaruhusu kutoa na makutano ya madarasa ya wahusika kuonyeshwa, lakini kwa kutumia sintaksia tofauti na UTS#18 (Maelezo ya Kawaida ya Unicode).
Kwa mfano, ili kupatanisha herufi za Kitai au Kigiriki (lakini si herufi au vibambo vingine katika hati hizo), unaweza kutumia usemi (?[p{L} & (p{Thai} + p{Kigiriki})]). - Maboresho makubwa kwa utaratibu wa kulinganisha wa tabaka la wahusika. Madarasa ya wahusika yaliyokusanywa sasa yameshikana zaidi na yanatoa ulinganishaji wa haraka kwa seti kubwa au changamano za wahusika kwa kutumia utafutaji wa binary juu ya seti.
- Chaguo jipya la kukokotoa pcre2_set_optimize() limeongezwa kwenye API ili kudhibiti uboreshaji.
- Maboresho mengi kwa kazi ya pcre2_substitute().
- Maboresho mengine na marekebisho ya hitilafu.
Chanzo: linux.org.ru
