Sunday, July 22, 2007

Regular Expression (စကာလံုးအစုပံုစံ)

စကားလံုးအစုပံုစံ မိတ္ဆက္
(Introduction of Regular Expression)

:. ၁.၁
စကားလံုးအစုပံုစံ (Regular Expression) တစ္ခုဆိုတာ (ကြန္ၿပဴတာေလာက အသံုးအႏွဳန္းအားၿဖင့္္) string အမ်ိဳးအစားမ်ိဳး ၿဖစ္ပါတယ္။ သတ္မွတ္ထားတဲ့ ပံုစံ စည္းမ်ဥ္းစည္းကမ္းမ်ားအတိုင္း စကာလံုး (character) ေတြကို ရွာေဖြဖို ့၊ စကားလံုးအစု (a set of characters)တစ္ခုနဲ ့ အၿခား စကားလံုးအစု တို ့ကို တိုင္ဆိုင္ စစ္ေဆးခ်င္တဲ့ အခါမ်ိဳး၊ အဲဒီလို အခါေေတြမွာ သံုးေလ့ရိွပါတယ္။

တကိုယ္ေရသံုးကြန္ၿပဳတာေတြကို သံုးဖူးတဲ့သူေတြ ဆိုရင္ပဲ ဒီ စကာလံုးအစုပံုစံ (Regular Expression) ကို သံုးဖူးၾကမွာပါ။ စကားလံုးအစုပံုစံကိုသံုးေနတယ္လို ့ သိခ်င္မွေတာ့ သိပါမယ္။ ဥပမာ- ဖိုင္ေတြကို ရွာေဖြခ်င္တဲ့အခါမ်ိဳးေတြမွာေပါ့။ ဖိုင္နာမည္ data နဲ ့ စတဲ့ ဖိုင္အားလံုးကို ရွာခ်င္တယ္ဆိုပါေတာ့။

စက္ထဲမွာ က -
၁. data.doc ၊
၂. data1.doc ၊
၃. data2.doc ၊
၄. dataTXT.txt ၊
၅. dataEXE.exe ၊
၆. dataB.bat

ဆိုၿပီးရိွမယ္လို ့ယူဆၾကမယ္။ ဒါဆို ရွာေဖြတဲအခါ data*.doc ဆိုးၿပီးရိုက္ ထည့္လိုက္။ ၿပီးလို ့ search ဆိုတဲ့ button ေလးကို ႏိွပ္လုိက္ရင္ ခုနက အေပၚဆံုးဖိုင္ ၃ ဖိုင္ကို ကြန္ၿပဳတာ စီမံခန္ ့ခြဲေရးစႏွစ္ (Operating System - OS) က ရွာေပးပါလိမ္မယ္။ တကယ္လို ့ data?.* လို ့ရိုက္ထည့္ခဲ့မယ္ဆိုရင္ေတာ့ ၂ ၊ ၃ နဲ ့ ၆ တိုကို ရွာေပးပါ လိမ့္မယ္။ data*.* ဆိုရင္ေတာ့ ၆ ဖိုင္လံုးေပါ့။

wildcard characters ေတြလို ့ေခၚခဲ့ ၾကတယ္။ ရိုးရိုးရွင္းရွင္းေတြေပါ့။ အခုေၿပာမယ့္ စကားလံုးအစုပံုစံ မွာက ဒီထက္အမ်ားၾကီး က်ယ္ၿပန္ ့ပါတယ္။ အနည္းငယ္လည္း ခတ္မယ္။ wildcard characters ေတြက အေတာ္အသံုးက်ေပ့မယ္လို ့ အကန္ ့့အသတ္ ရိွတယ္။ သူတို ့ေတြဟာ စကားလံုးပံုအစုပံုစံ (Regular Expression) ရဲ ့ သေဘာတရား ကို မိတ္ဆက္ေပးခဲ့ပါတယ္။

:. ၁.၂
စကားလံုးအစုပံုစံရဲ ့ မူလဇစ္ၿမစ္ဟာ သီ၀ရီသေဘာတရားဆိုင္ရာကြန္ၿပဳတာသိပံၸ (theoretical computer science) ရဲ ့ အစိတ္အပိုင္းေတြၿဖစ္ၾကတဲ့ automata theory နဲ ့ formal language theory တို ့ပဲၿဖစ္ၾကပါတယ္။ စကားလံုးအစုပံုစံ ကို formal language theory နဲ ့ ေဖာ္ၿပေရးသားရပါတယ္။ (ေလ့လာလိုသူမ်ား ဆက္ၿပီးေလ့လာၾကပါ။ ဒီေၾကာင္း ေတြက ဒီပိုစ္နဲ ့မဆိုင္ပါ။)

:. ၁.၃
စကားလံုးအစုပံုစံ (Regular Expression) ကိုသံုးၿခင္းအားၿဖင့္

- အခ်က္အလက္ မွန္ကန္ေၾကာင္း စစ္ေဆးၿခင္းမ်ား (Data Validation & Verification)

ဥပမာ - ၀င္ေရာက္လာတဲ့ တယ္လီဖုန္းနံပါတ္ က ကိုယ္လိုခ်င္တဲ့ စံပံုစံ (pattern) ဟုတ္မဟုတ္စစ္ေဆးၿခင္း ၊ လိုခ်င္တဲ့ ပံုစံက ၉၀a-၃၄-၅d-၃ ဆိုပါေတာ့၊ အဲဒီပံုစံမဟုတ္ပဲ ၉၀3၅၅-၅%၇၅၄ ဆိုရင္္ စံပံုစံ (pattern) အားၿဖင့္ မွားတယ္။

- စာမ်ား အစားထိုးၿခင္း (Replace Text)

ဥပမာ - I love you very much. No matter what you are, I love you. ေပါ့။ဒီလို စာေတြ စာရြက္ေပါင္း မ်ားစြာရိွမယ္ဗ်ာ။ ဒါကို (ႏွစ္အနည္းငယ္ၾကာလာတဲ့အခါ) love အစား hate နဲ ့အစားထုိးခ်င္တယ္ ဆိုပါေတာ့။အဲဒီလို အခ်ိန္မွာ သိပ္အသံုးက်တယ္။

- စာအစဥ္အတန္း (String) တစ္ခုထဲကေန ကိုယ္လို ခ်င္တဲ့ အစိတ္အပိုင္း ေလးတစ္ခုကိုပဲ ထုတ္ယူၿခင္း (Extract text)

ဥပမာ - အေပၚက စာထဲကပဲ love ဆိုု တဲ့ စာလံုးကိုပဲ ထုတ္ယူခ်င္တဲ့အခါမ်ိဳး။
စသည္တုိ ့ေတြမွာ အလြန္ အသံုး၀င္ပါတယ္။

စာအစဥ္အတန္း (String) ေတြကို ကိုင္တြယ္တဲ့ေန ရာမွာ နာမည္မၾကီးတဲ့ javascript လို ပရိုဂရမ္ ဘာသာရပ္ေတြမွာ စကားလံုးအစုပံုစံ (Regular Expression) က အသံုးက် ၾကပါတယ္။

ဆတ္ရန္။

ရည္ညြန္း။ ။ MSDN, Wikipedia - the free encyclopedia

အာေကလာ (Akela)

july 21, 2007 2:42 am

မွတ္ခ်က္။ ။ ပိုစ္ေတြကို ကၽြန္ေတာ္ စာလံုးမ်ားကို တက္ႏိုင္သေလာက္ ၿမန္မာမွဳၿပဳထာပါတယ္။ ပညာရွင္မဟုတ္တဲ့ အတြက္ စာလံုးေတြက ေထာက္ေနပါတယ္။ ကၽြန္ေတာ္ကိုယ္တိုင္ ေရးေနရင္းနဲ ့ ခဏခဏရယ္ၿဖစ္ပါတယ္။ ဒါေပ့မယ္ေပါ့ေလ တက္ႏိုင္သမွ်ေတာ့ ၾကိဳးစားၿပီးၿမန္မာ လို ပဲေရးပါမယ္။ အခုအစၿပဳမိရင္ ေနာင္က်ေတာ့ဒီထက္ေကာင္းတဲ့ အဓိပၸါယ္ၿပည့္စံုတဲ့ ၿမန္မာစာလံုးေတြ ထြက္လာႏိုင္တယ္လို ့ေမွ်ာ္လင့္ပါတယ္။



No comments: