Mozilla gbanwere iji igwe okwu oge niile nwere Chromium

SpiderMonkey JavaScript engine eji na Firefox bufere iji mmejuputa mmeghari emelitere nke okwu oge niile dabere na koodu dị ugbu a Iregexp sitere na injin V8 Javascript eji eme ihe nchọgharị dabere na ọrụ Chromium. A ga-enye mmejuputa iwu ọhụrụ nke RegExp na Firefox 78, nke akwadoro maka June 30, ma weta ihe niile ECMAScript na-efu efu metụtara okwu mgbe niile na ihe nchọgharị ahụ.

A na-achọpụta na e mere RegExp engine na SpiderMonkey dị ka ihe dị iche iche, nke na-eme ka ọ dịtụ onwe ya ma dị mma maka ngbanwe na-enweghị mkpa ime mgbanwe dị ukwuu na ntọala koodu. Modularity mere ka o kwe omume na 2014 iji dochie igwe YARR RegExp ejiri na Firefox jiri ndụdụ nke Irregexp engine sitere na V8. Ejidere Irregexp na V8 API, kechie ya na onye na-anakọta ihe mkpofu, ma na-eji ihe nnochite anya eriri V8 akọwapụtara yana ụdị ihe. Na usoro nke imeghari na SpiderMonkey's internal API na 2014, e degharịrị engine Irregexp n'akụkụ ụfọdụ, yana mgbanwe na-apụta, dị ka ọkọlọtọ '\u', ebe enwere ike. bufere banye ndụdụ nke Mozilla na-elekọta.

Ọ dị nwute, idowe ndụdụ emekọrịtara ọnụ siri ike yana akụrụngwa siri ike. Site na ọbịbịa nke njirimara ọhụrụ metụtara nkwupụta oge niile na ọkọlọtọ ECMAScript 2018, ndị mmepe Mozilla chere otu a ga-esi mee ka ọ dịkwuo mfe ịkwaga mgbanwe site na Irregexp. Dị ka ụzọ pụta, a tụrụ aro ihe mkpuchi mkpuchi, nke na-enye ohere iji ihe fọrọ nke nta ka ọ bụrụ engine Irregexp na SpiderMonkey (mgbanwe ndị a na-ebelata naanị na ngbanwe akpaaka nke "#include").

Mozilla gbanwere iji igwe okwu oge niile nwere Chromium

Usoro ahụ na-enye Irregexp ike dị mkpa V8-kpọmkwem, gụnyere njikwa ebe nchekwa na ọrụ ọgbọ koodu, yana usoro data ala nke etinyere site na iji igwe njikwa ebe nchekwa, ndị na-emepụta koodu, na ihe owuwu SpiderMonkey.

Imelite injin RegExp ga-ekwe ka Firefox kwado atụmatụ dị ka njide akpọrọ, mgbanarị agwa Unicode, ọkọlọtọ dotAll, na ọnọdụ nleba anya:

  • Otu ndị akpọrọ aha na-enye gị ohere ijikọ akụkụ nke eriri nke dabara na nkwupụta oge niile nwere aha akọwapụtara kama iji nọmba nsonazụ nke egwuregwu (dịka ọmụmaatụ, kama ịbụ “/(\d{4})-(\d{2})-(\d{2})-(\d{ 4})/" ị nwere ike ezipụta "/( ? \d{2})-(? \d{2})-(? \d{1})/" wee nweta afọ ọ bụghị site na nsonaazụ[XNUMX], kama site na result.groups.year).
  • Ịgbanarị klaasị Mkpụrụedemede Unicode na-agbakwunye ihe nrụpụta \p{...} na \P{...}, dịka ọmụmaatụ, \p{Number} na-akọwapụta mkpụrụedemede niile nwere ike igosi ọnụọgụ (gụnyere mkpụrụedemede dịka ①), \p {Alphabetic} - mkpụrụedemede (gụnyere hieroglyphs ), \p{Math} — akara mgbakọ na mwepụ, wdg.
  • Flag ntụpọ niile na-akpata "" nkpuchi na-agba ọkụ. gụnyere mkpụrụedemede ndepụta ahịrị.
  • Ọnọdụ Lee anya n'azụ na-enye gị ohere ikpebi na nkwupụta oge niile na otu ụkpụrụ na-ebute ụzọ ọzọ (dịka ọmụmaatụ, dakọtara ọnụ ego dollar na-enweghị ijide akara dollar).

Emere oru a site na ntinye aka nke ndi mmepe V8, ndi, n'aka nke ha, na-arụ ọrụ iji belata ịdabere na Irregexp na V8, ma kpalie ụfọdụ atụmatụ na-enweghị ike imejuputa site na iji SpiderMonkey iji gbanyụọ "#ifdef" blocks. Imekọ ihe ọnụ ahụ wee bụrụ nke bara uru. Maka akụkụ nke ha, ndị mmepe Mozilla nyefere mgbanwe na Irregexp na-ewepụ ụfọdụ ekwekọghị ekwekọ na chọrọ nke Javascript ọkọlọtọ na imeziwanye àgwà koodu. Ọzọkwa, n'oge ule na-agbagwoju anya nke Firefox, achọpụtara ma kpochapụ njehie ndị a na-ahụbeghị na mbụ na koodu Irregexp nke butere mkpọka.

isi: opennet.ru

Tinye a comment