Ngemva kweminyaka engaphezu kwesigamu sokuthuthukiswa, 10.45 womtapo wolwazi ohambisana ne-PERL ukhululiwe. PCRE2, ebhalwe ngo-C futhi yasatshalaliswa ngaphansi kwelayisensi ye-BSD. Lokhu ukukhishwa okukhulu uma kuqhathaniswa, okuhlanganisa izici ezintsha, okunye ukulungiswa kweziphazamisi, nezinguquko ezimbalwa ezinomthelela omncane ekusebenzisaneni emuva.
Inguqulo engu-10.45 iwukukhululwa kokuqala okulungiselelwe abagcini bephrojekthi abasha, ababonga u-Philip Hazel, umdali nomnakekeli wephrojekthi ye-PCRE ne-PCRE2.
Uhlu lwezinguquko:
- Iphrojekthi yokuhlanganisa i-JIT sljit manje esetshenziswa njengemodule engaphansi ye-Git.
- Kubuyekezwe idatha ye-Unicode yaba yinguqulo 16.
- Imephu engazweli yezindawo ze-Unicode Ll, Lt, ne-Lu ishintshiwe ukuze ifane ne-Perl. Ngaphambilini, iphethini ethi /p{Ll}/i ibifana nezinhlamvu ezincane kuphela (ngisho noma ukufanisa okungenazwelo bekucacisiwe). Lolu shintsho luphinde luthinte ukufana okungazweli kwecala lamakilasi e-POSIX afana ne-[:lower:].
- Kwengezwe umsebenzi omusha scan_substring. Lolu uhlobo olusha lokugomela olufana nokuqukethwe kwebhulokhi yokuthwebula ngokumelene nephethini encane.
Isibonelo, isisho esithi b(w++)(*scan_substring:(1).+rh) sithola igama eliqukethe ukulandelana kwezinhlamvu zesiNgisi ezingavamile "rh" elingekho ekuqaleni. - Ukwesekwa okwengeziwe kwamakilasi ezinhlamvu ahambisana ne UTS#18 (Unicode Regular Expressions), usebenzisa inketho entsha ye-PCRE2_ALT_EXTENDED_CLASS. Ukuze wenze lokhu, udinga ukusebenzisa [ njenge-metacharacter ezigabeni zabalingiswa kanye nabaqhubi &&, —, kanye ~~, okuvumela ukuthi wenze ukususa kanye nokuphambana kwezigaba zezinhlamvu kalula.
Ngokwesibonelo, ukuze uqondanise izinhlamvu zesiThai noma zesiGreki (kodwa hhayi izinhlamvu noma ezinye izinhlamvu kulezo mibhalo), ungasebenzisa isisho esithi [p{L}&&[p{Thai}||p{Greek}]]. - Usekelo olungeziwe lwezigaba zezinhlamvu ezinwetshiwe zesitayela sika-Perl kusetshenziswa i-syntax ethi (?[...]). Iphinde ivumele ukususa nokuphambana kwezigaba zezinhlamvu ukuthi zivezwe, kodwa kusetshenziswa i-syntax ehlukile kune UTS#18 (I-Unicode Regular Expressions).
Ngokwesibonelo, ukuze uqondanise izinhlamvu zesiThai noma zesiGreki (kodwa hhayi izinhlamvu noma ezinye izinhlamvu kulezo mibhalo), ungasebenzisa inkulumo ethi (?[p{L} & (p{Thai} + p{Greek})]). - Ukuthuthukiswa okuphawulekayo kwindlela yokufanisa isigaba somlingisi. Izigaba zezinhlamvu ezihlanganisiwe manje sezihlangene kakhulu futhi zihlinzeka ngokufaniswa okusheshayo kwamasethi ezinhlamvu ezinkulu noma eziyinkimbinkimbi kusetshenziswa ukusesha kanambambili phezu kwesethi.
- Umsebenzi omusha pcre2_set_optimize() wengezwe ku-API ukuze uphathe ukulungiselelwa.
- Ukuthuthukiswa okuningi komsebenzi we-pcre2_substitute().
- Okunye ukuthuthukiswa nokulungiswa kweziphazamisi.
Source: linux.org.ru
