PCRE2 10.45

ဖွံ့ဖြိုးတိုးတက်မှု တစ်နှစ်ခွဲကျော်ကြာပြီးနောက်၊ PERL-သဟဇာတဖြစ်သော ပုံမှန်စကားရပ်ပြစာကြည့်တိုက်၏ 10.45 ကို ထုတ်ပြန်လိုက်သည် PCRE2C ဖြင့်ရေးသားပြီး BSD လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ ၎င်းသည် ဝန်ဆောင်မှုအသစ်များ၊ ချို့ယွင်းချက်ပြင်ဆင်မှုများနှင့် နောက်ပြန်လိုက်ဖက်ညီမှုအပေါ် အနည်းငယ်အကျိုးသက်ရောက်မှုရှိသော အပြောင်းအလဲအချို့ အပါအဝင် အတော်လေးကြီးမားသော ထွက်ရှိမှုတစ်ခုဖြစ်သည်။

ဗားရှင်း 10.45 သည် PCRE နှင့် PCRE2 ပရောဂျက်များ၏ ဖန်တီးသူနှင့် ထိန်းသိမ်းသူ Philip Hazel ကို ကျေးဇူးတင်သော ပရောဂျက်ထိန်းသိမ်းသူများမှ ပြင်ဆင်သည့် ပထမဆုံးထွက်ရှိမှုဖြစ်သည်။

အပြောင်းအလဲများစာရင်း-

  • JIT စုစည်းမှု ပရောဂျက် sljit ယခု Git submodule အဖြစ်အသုံးပြုသည်။
  • ယူနီကုဒ်ဒေတာကို ဗားရှင်းသို့ အပ်ဒိတ်လုပ်ထားသည်။ 16.
  • Unicode Ll၊ Lt နှင့် Lu ဂုဏ်သတ္တိများ ၏ case-insensitive mapping ကို Perl နှင့် ကိုက်ညီစေရန် ပြောင်းလဲထားသည်။ ယခင်က၊ /p{Ll}/i ပုံစံသည် စာလုံးအသေးများနှင့်သာ တူညီသည် (အသေးစား စာလုံးအသေးနှင့် ကိုက်ညီမှုမရှိသော ကိုက်ညီမှုကို သတ်မှတ်ထားသော်လည်း)။ ဤပြောင်းလဲမှုသည် [:lower:] ကဲ့သို့သော POSIX အတန်းများ၏ case-insensitive ကိုက်ညီမှုကိုလည်း သက်ရောက်မှုရှိပါသည်။
  • လုပ်ဆောင်ချက်အသစ် scan_substring ကို ထည့်ထားသည်။ ၎င်းသည် ပုံစံငယ်တစ်ခုနှင့် ဖမ်းယူခြင်း ဘလောက်တစ်ခု၏ အကြောင်းအရာများနှင့် ကိုက်ညီသည့် အခိုင်အမာ အမျိုးအစားအသစ်ဖြစ်သည်။
    ဥပမာအားဖြင့်၊ စကားရပ် b(w++)(*scan_substring:(1))။+rh) သည် အစတွင်မဟုတ်သော ရှားပါးသော အင်္ဂလိပ်အက္ခရာစီစဉ် "rh" ပါရှိသော စကားလုံးကို ရှာတွေ့သည်။
  • နှင့် တွဲဖက်အသုံးပြုနိုင်သော ဇာတ်ကောင်အတန်းများအတွက် ပံ့ပိုးမှု ထပ်လောင်းထည့်ထားသည်။ UTS #18 PCRE2_ALT_EXTENDED_CLASS ရွေးချယ်မှုအသစ်ကို အသုံးပြု၍ (Unicode ပုံမှန်အသုံးအနှုန်းများ)။ ၎င်းကိုလုပ်ဆောင်ရန်၊ သင်သည် [ဇာတ်ကောင်အတန်းအစားများနှင့် အော်ပရေတာများတွင် metacharacter အဖြစ် &&, — နှင့် ~~ ကိုအသုံးပြုရန် လိုအပ်ပြီး ၎င်းသည် စာလုံးအတန်းများ၏ နုတ်နှင့်လမ်းဆုံများကို အလွယ်တကူလုပ်ဆောင်နိုင်စေမည်ဖြစ်သည်။
    ဥပမာအားဖြင့်၊ ထိုင်း သို့မဟုတ် ဂရိအက္ခရာများ (သို့သော်လည်း အဆိုပါ Script များတွင် စာလုံးများ သို့မဟုတ် အခြားစာလုံးများမဟုတ်ပါ)၊ သင်သည် [p{L}&&[p{Thai}||p{Greek}]] ဟူသောအသုံးအနှုန်းကို အသုံးပြုနိုင်သည်။
  • (?[…]) syntax ကို အသုံးပြု၍ Perl စတိုင် တိုးချဲ့ထားသော ဇာတ်ကောင်အတန်းများအတွက် ပံ့ပိုးမှု ပေါင်းထည့်ထားသည်။ ၎င်းသည် အက္ခရာအတန်းများ၏ နုတ်နှင့် လမ်းဆုံများကို ထုတ်ဖော်ခွင့်ပြုသော်လည်း မတူသော syntax ကို အသုံးပြုထားသည်။ UTS #18 (Unicode Regular Expressions)။
    ဥပမာအားဖြင့်၊ ထိုင်း သို့မဟုတ် ဂရိအက္ခရာများ (သို့သော်လည်း အဆိုပါ Script များတွင် စာလုံးများ သို့မဟုတ် အခြားစာလုံးများမဟုတ်ပါ)၊ သင်သည် (?[p{L} & (p{Thai} + p{Greek})]) ဟူသော စကားရပ်ကို အသုံးပြုနိုင်သည်။
  • ဇာတ်ကောင်အတန်းလိုက် ကိုက်ညီမှု ယန္တရားအတွက် သိသာထင်ရှားသော တိုးတက်မှု။ စုစည်းထားသော ဇာတ်ကောင်အတန်းများသည် ယခုအခါ ပိုမိုကျစ်လျစ်ပြီး ကြီးမားသော သို့မဟုတ် ရှုပ်ထွေးသော အက္ခရာအတွဲများအတွက် ပိုမိုမြန်ဆန်သော ကိုက်ညီမှုကို ပေးစွမ်းပါသည်။
  • ပိုမိုကောင်းမွန်အောင်လုပ်ဆောင်မှုများကို စီမံခန့်ခွဲရန် လုပ်ဆောင်ချက်အသစ် pcre2_set_optimize() ကို API တွင် ထည့်သွင်းထားသည်။
  • pcre2_substitute() လုပ်ဆောင်ချက်အတွက် တိုးတက်မှုများစွာ။
  • အခြားတိုးတက်မှုများနှင့် ချွတ်ယွင်းချက်ပြင်ဆင်မှုများ။

source: linux.org.ru

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster