JavaScript ရဲ့ ရီဂျယ်စကားရပ်များအတွင်း ကွင်းစကွင်းပိတ်အတွင်းရှိ ဟိုင်ဖင်၏ ထူးခြားချက်များ
ဟိုင်ဖင် - သည်လည်း [ ] အတွင်းရှိ အထူးသင်္ကေတတစ်ခုဖြစ်သည်
(သို့သော် အပြင်ဘက်တွင် - မဟုတ်ပါ)။ အကယ်၍ သင်ဟာ ဟိုင်ဖင်သင်္ကေတကိုယ်တိုင်ကို လိုချင်ပါက
ထို့နောက် ၎င်းကို နေရာတစ်ခုတွင် ထားပါ။
အဆိုပါနေရာသည် အုပ်စုခွဲခြားသူအဖြစ် မယူဆရသည့်နေရာ ဖြစ်ရမည်။
ဤအချက်သည် အဘယ်ကြောင့် အရေးကြီးသနည်း: သင်သည် အုပ်စုတစ်ခုဖွဲ့မိနိုင်သည်။
သင်ကိုယ်တိုင် သတိမထားမိဘဲနှင့်ပင်ဖြစ်သည်။ ဥပမာအားဖြင့်၊
ဤကဲ့သို့ - '[:-@]' - သင်သည် ကော်လံ၊ ဟိုင်ဖင်နှင့် at သင်္ကေတကို
ရွေးနေသည်ဟုထင်နေသော်လည်း အမှန်တွင် : နှင့် @ အကြားရှိ
သင်္ကေတအုပ်စုတစ်ခု ဖြစ်သွားသည်။ ဤအုပ်စုတွင်
အောက်ပါသင်္ကေတများ ပါဝင်သည်: ? < = > : ;
၎င်းတို့ကို ဘယ်ကရသနည်း။ ASCII ဇယားမှ - ကော်လံသည် at သင်္ကေတထက် နံပါတ်ငယ်သည် - ထို့ကြောင့် အုပ်စုတစ်ခု ဖြစ်လာသည်။ ဆိုလိုသည်မှာ အုပ်စုအားလုံးသည် ASCII ဇယားအရ ဖြစ်လာသည် (လိုလျှင် ဤအချက်ကို အသုံးချနိုင်သည်)။
ဤပြဿနာကို မည်သို့ဖြေရှင်းမည်နည်း: ဟိုင်ဖင်သင်္ကေတကို
အုပ်စုသင်္ကေတအဖြစ် မယူဆရန် သေချာသည့်နေရာတွင် ထားပါ။
ဥပမာ၊ အစတွင် သို့မဟုတ် အဆုံးတွင်
(ဆိုလိုသည်မှာ [ ပြီးနောက် သို့မဟုတ် ] မတိုင်မီ)။
ဟိုင်ဖင်ကို escape လုပ်နိုင်သည် - ထိုအခါ
၎င်းသည် နေရာအလိုက် ကိုယ်တိုင်ကို ကိုယ်စားပြုမည်။
ဥပမာ၊ [:-@] နေရာတွင်
[:\-@] ဟုရေးပါ - ထိုအခါ
အုပ်စုရှိမည်မဟုတ်တော့ဘဲ
သင်္ကေတသုံးခု - ကော်လံ၊ ဟိုင်ဖင်နှင့် at
@ ရှိလာမည်။
ဥပမာ
အောက်ပါဥပမာတွင် ရှာဖွေမှုပုံစံသည် ဤသို့ဖြစ်သည်:
ဂဏန်း 1၊ ထို့နောက် 'a'
မှ 'z' အထိ စာလုံး၊ ထို့နောက် ဂဏန်း 2:
let str = '1a2 1-2 1c2 1z2';
let res = str.replace(/1[a-z]2/g, '!');
ရလဒ်အနေဖြင့် variable ထဲတွင် အောက်ပါအတိုင်း ရေးသွင်းမည်:
'! 1-2 ! !'
ဥပမာ
ယခု ဟိုင်ဖင်ကို escape လုပ်ကြည့်ပါစို့။ ရလဒ်အနေဖြင့်
ရှာဖွေမှုပုံစံသည် ဤသို့ဖြစ်သည်: ဂဏန်း 1၊ ထို့နောက်
စာလုံး 'a'၊ သို့မဟုတ် ဟိုင်ဖင်၊ သို့မဟုတ် စာလုံး 'z'၊
ထို့နောက် ဂဏန်း 2:
let str = '1a2 1-2 1c2 1z2';
let res = str.replace(/1[a\-z]2/g, '!');
ရလဒ်အနေဖြင့် variable ထဲတွင် အောက်ပါအတိုင်း ရေးသွင်းမည်:
'! ! 1c2 !'
ဥပမာ
ဟိုင်ဖင်ကို escape မလုပ်ဘဲ ရိုးရိုးရွှေ့နိုင်သည်:
let str = '1a2 1-2 1c2 1z2';
let res = str.replace(/1[az-]2/g, '!');
ရလဒ်အနေဖြင့် variable ထဲတွင် အောက်ပါအတိုင်း ရေးသွင်းမည်:
'! ! 1c2 !'
ဥပမာ
အောက်ပါဥပမာတွင် ရှာဖွေမှုပုံစံသည် ဤသို့ဖြစ်သည်:
ပထမသင်္ကေတ - စာလုံးအသေး သို့မဟုတ်
ဟိုင်ဖင် '-'၊ ထို့နောက် စာလုံး 'x' နှစ်လုံး:
let str = 'axx Axx -xx @xx';
let res = str.replace(/[a-z-]xx/g, '!');
ရလဒ်အနေဖြင့် variable ထဲတွင် အောက်ပါအတိုင်း ရေးသွင်းမည်:
'! Axx ! @xx'
ဥပမာ
အောက်ပါဥပမာတွင် ရှာဖွေမှုပုံစံသည် ဤသို့ဖြစ်သည်:
ပထမသင်္ကေတ - စာလုံးအသေး၊ အကြီး
သို့မဟုတ် ဟိုင်ဖင် '-'၊ ထို့နောက် စာလုံး
'x' နှစ်လုံး:
let str = 'axx Axx -xx @xx';
let res = str.replace(/[a-zA-Z-]xx/g, '!');
ရလဒ်အနေဖြင့် variable ထဲတွင် အောက်ပါအတိုင်း ရေးသွင်းမည်:
'! ! ! @xx'
ဥပမာ
ဟိုင်ဖင်ကို အုပ်စုနှစ်ခုကြားတွင် ထားနိုင်သည် - ထိုနေရာတွင် ၎င်းသည် နောက်ထပ်အုပ်စုတစ်ခု လုံးဝမဖြစ်စေတော့ပါ:
let str = 'axx 9xx -xx @xx';
let res = str.replace(/[a-z-0-9]xx/g, '!');
ရလဒ်အနေဖြင့် variable ထဲတွင် အောက်ပါအတိုင်း ရေးသွင်းမည်:
'! ! ! @xx'
လက်တွေ့လေ့ကျင့်ခန်းများ
စာကြောင်းတစ်ခုပေးထားသည်:
let str = 'xaz xBz xcz x-z x@z';
�ောက်ပါပုံစံအတိုင်း စာကြောင်းအားလုံးကို ရှာပါ:
စာလုံး 'x'၊ အကြီး သို့မဟုတ် အသေး
စာလုံး သို့မဟုတ် ဟိုင်ဖင်၊ စာလုံး 'z'.
စာကြောင်းတစ်ခုပေးထားသည်:
let str = 'xaz x$z x-z xcz x+z x%z x*z';
အောက်ပါပုံစံအတိုင်း စာကြောင်းအားလုံးကို ရှာပါ:
စာလုံး 'x'၊ ထို့နောက် ဒေါ်လာ သို့မဟုတ်
ဟိုင်ဖင် သို့မဟုတ် ပလပ်စ်၊ ထို့နောက် စာလုံး 'z'.