regex
ပုံမှန်ဖော်ပြမှု
Regex သည် အတိုကောက်ဖြစ်သည်။ ပုံမှန်ဖော်ပြမှု.
ဘာဖြစ်သလဲ ပုံမှန်ဖော်ပြမှု?
ရှာဖွေမှုပုံစံကို သတ်မှတ်ပေးသည့် ဇာတ်ကောင်များ၏ အတွဲတစ်ခု။ ဤရှာဖွေမှုပုံစံများကို strings များ ၊ သို့မဟုတ် strings အစုံကို ကိုက်ညီအောင် စီမံရန် အသုံးပြုပါသည်။
အမေရိကန်သင်္ချာပညာရှင် Stephen Kleene သည် ပုံမှန်ဘာသာစကားများ၏ ဖော်ပြချက်ကို တရားဝင်ခွင့်ပြုသောအခါတွင် ပုံမှန်အသုံးအနှုန်းများ၏ သဘောတရားကို အကန့်အသတ်ဖြင့် အသိအမှတ်ပြုနိုင်သည့် ဘာသာစကားအမျိုးအစားဖြစ်သည့် ပုံမှန်ဘာသာစကားများကို 1950 ခုနှစ်များတွင် စတင်မိတ်ဆက်ခဲ့သည်။ 1980 ခုနှစ်များတွင်၊ ပုံမှန်အသုံးအနှုန်းများကို UNIX ကမ္ဘာသို့မိတ်ဆက်ခဲ့ပြီး ထိုအချိန်မှစ၍ ၎င်းတို့သည် ပရိုဂရမ်းမင်းဘာသာစကားများနှင့် ကိရိယာများစွာအတွက် စံသတ်မှတ်ချက်တစ်ခုဖြစ်လာခဲ့သည်။
ခေတ်မီပရိုဂရမ်းမင်းဘာသာစကားအားလုံးနီးပါးသည် ပုံမှန်အသုံးအနှုန်းများကို ပံ့ပိုးပေးသည်။ အချို့သောဥပမာများတွင် Python၊ Java၊ C++၊ C# နှင့် JavaScript တို့ပါဝင်သည်။ ထို့အပြင် vim၊ emacs နှင့် Sublime Text ကဲ့သို့သော စာသားတည်းဖြတ်သူအများအပြားသည် ရှာဖွေမှုနှင့် အစားထိုးလုပ်ဆောင်မှုများအတွက် ပုံမှန်အသုံးအနှုန်းများကို ပံ့ပိုးပေးသည်။
ပုံမှန်အသုံးအနှုန်းများသည် အလွန်အားကောင်းနိုင်ပြီး စာကြောင်းများကို ကိုက်ညီစေရန်နှင့် ကြိုးကိုင်ရန် အထူးအက္ခရာများနှင့် အထားအသို ကျယ်ပြန့်စွာ ပါဝင်နိုင်သည်။ ပုံမှန်အသုံးအနှုန်းများနှင့် ၎င်းတို့ကိုအသုံးပြုနည်းများအကြောင်း ပိုမိုလေ့လာနိုင်စေရန် ကူညီပေးနိုင်သည့် အွန်လိုင်းအရင်းအမြစ်များနှင့် ကျူတိုရီရယ်များစွာရှိသည်။
ဤသည်မှာ နိုင်ငံတကာ ဖုန်းနံပါတ်တစ်ခုအား တရားဝင်ကြောင်း အတည်ပြုနိုင်သော ပုံမှန်အသုံးအနှုန်းတစ်ခု၏ ဥပမာတစ်ခုဖြစ်သည်။
^\+(?:[0-9] ?){6,14}[0-9]$
ဤသည်မှာ အထက်ဖော်ပြပါ ပုံမှန်အသုံးအနှုန်းရှိ အဆင့်တစ်ခုစီ၏ ခွဲခြမ်းစိတ်ဖြာချက်ဖြစ်သည်-
^
- ဤသင်္ကေတသည် စာကြောင်း၏အစနှင့် ကိုက်ညီသည်။\+
- ၎င်းသည် ဖုန်းနံပါတ်၏အစရှိ အပေါင်းသင်္ကေတနှင့် ကိုက်ညီသည်။ ရှေ့အက္ခရာ၏ တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ဖြစ်ရပ်များနှင့် ကိုက်ညီစေရန် အပေါင်းသင်္ကေတ၏ အထူးအဓိပ္ပာယ်ကို ရှောင်ရန် နောက်ခံစရှ်ကို အသုံးပြုသည်။(?:[0-9] ?){6,14}
- ဤသည်မှာ ဂဏန်းတစ်ခု၏ဖြစ်ပျက်မှု 6 နှင့် 14 အကြားကိုက်ညီသော ဖမ်းယူခြင်းမဟုတ်သောအုပ်စု (0-9) နှင့်နောက်တွင် စိတ်ကြိုက်နေရာလွတ်တစ်ခုဖြစ်သည်။ ဟိ?:
ဖမ်းယူခြင်းမပြုသောအဖွဲ့ကို ဖန်တီးရန်အသုံးပြုသည်၊ ဆိုလိုသည်မှာ အဖွဲ့သည် လိုက်ဖက်မည်ဖြစ်သော်လည်း ၎င်းသည် အဖွဲ့နှင့်လိုက်ဖက်သောစာသားကို ဖမ်းယူမည်မဟုတ်ပါ။ Capturing group များကို နောက်ပိုင်းအသုံးပြုရန်အတွက် ပုံမှန်အသုံးအနှုန်း၏ အစိတ်အပိုင်းတစ်ခုဖြင့် ကိုက်ညီသော စာသားကို သိမ်းဆည်းရန်အတွက် အသုံးပြုသည်။[0-9]
- ၎င်းသည် ဂဏန်းတစ်လုံး (0-9) နှင့် ကိုက်ညီသည်။$
- ဤသင်္ကေတသည် စာကြောင်း၏အဆုံးနှင့် ကိုက်ညီသည်။
ဤပုံမှန်အသုံးအနှုန်းနှင့် ကိုက်ညီမည့် ဖုန်းနံပါတ်များ၏ နမူနာအချို့မှာ အောက်ပါအတိုင်းဖြစ်သည်-
- + 1 555 555 5555
- + 44 20 7123 4567
- + 61 2 9876 5432
- +1 (555) 555-5555
- + 44 20 7123 4567
ဤသည်မှာ တူညီမှုမရှိသော ဖုန်းနံပါတ်များ ဥပမာအချို့ဖြစ်သည်။
- 555-555-5555 (ဦးဆောင် "အပေါင်း" သင်္ကေတ ပါနေသည်)
- +1 555 555 (ဂဏန်းများလွန်းသည်)
- +1 555 555 55555 (ဂဏန်းများလွန်း)
ဤသည်မှာ နိုင်ငံတကာ ဖုန်းနံပါတ်တစ်ခုကို တရားဝင်အောင်ပြုလုပ်ရန် နည်းလမ်းတစ်ခုသာဖြစ်ပြီး ဤရည်ရွယ်ချက်အတွက် အသုံးပြုနိုင်သည့် အခြားသော ပုံမှန်အသုံးအနှုန်းများစွာလည်း ရှိသည်ကို မှတ်သားထားပါ။ ဤပုံမှန်အသုံးအနှုန်းသည် ဖုန်းနံပါတ်ကို အမှန်တကယ်အသုံးပြုနေကြောင်း သို့မဟုတ် ၎င်းသည် သီးခြားတစ်ဦးချင်းစီပိုင်ကြောင်း အတည်ပြုမည်မဟုတ်ကြောင်းကိုလည်း သတိပြုရန် အရေးကြီးပါသည်။ နံပါတ်သည် မှန်ကန်သည့်ဖော်မတ်တစ်ခုဖြစ်ကြောင်းသာ အတည်ပြုမည်ဖြစ်သည်။
အတိုကောက်လည်း ပါတယ်။ regexp.
- အတိုကောက်: regex