လွယ်လွယ်ပြောရရင် Regex (Regular Expression) ဆိုတာ စာသားအရှည်ကြီးထဲမှာ ကိုယ် လိုချင်တဲ့ “ပုံစံ” (pattern) နဲ့ ကိုက်ညီတဲ့ အပိုင်းတွေကို တစ်ချက်တည်း ရှာထုတ်တဲ့ နည်းလမ်း ပါ။ Programmer တိုင်း သိထားသင့်တဲ့ လက်နက်တစ်ခု လို့ ပြောလို့ ရတယ်။
ငါးမျှားတာနဲ့ ဥပမာပေးရအောင်။ စာရွက်အရွက် ၅၀၀ ထဲက ဖုန်းနံပါတ်တွေ အားလုံး လိုချင်တယ် ဆိုပါစို့။ Ctrl+F နဲ့ “09” လို့ ရိုက်ရှာတာ လက်နဲ့ တစ်ကောင်ချင်း ဖမ်းတာနဲ့ တူတယ် — တွေ့တယ်၊ ဒါပေမယ့် “09” ပါတဲ့ စာတိုင်းကို လိုက်ကြည့်ရတယ်။ Regex က ပိုက်ကွန်နဲ့ တစ်ခါတည်း ဆွဲဖမ်းတာ — 09\d{7,9} လို့ ရေးလိုက်တာနဲ့ ဖုန်းနံပါတ် ပုံစံနဲ့ ကိုက်တဲ့ အရာအားလုံး တစ်ခါတည်း ထွက်လာတယ်။
အခြေခံ သင်္ကေတလေးတွေ အရင် ကြည့်ရအောင်။ ကြောက်စရာ မလိုဘူး၊ နည်းနည်းလေးပဲ —
\d — ဂဏန်း တစ်လုံး (0-9)\w — စာလုံး/ဂဏန်း တစ်လုံး (a-z, 0-9, _). — ဘာဖြစ်ဖြစ် တစ်လုံး* — အရင်ဟာ ၀ ကြိမ် ဒါမှမဟုတ် အကြိမ်များစွာ၊ + — အနည်းဆုံး ၁ ကြိမ်? — ရှိချင်ရှိ မရှိချင်နေ (၀ သို့မဟုတ် ၁ ကြိမ်)[abc] — a, b, c သုံးခုထဲက တစ်ခု၊ [0-9] — ဂဏန်း တစ်လုံး^ — စာကြောင်း အစ၊ $ — စာကြောင်း အဆုံး
လက်တွေ့ ဥပမာတွေ ကြည့်ရအောင် —
ဖုန်းနံပါတ် မြန်မာဖုန်း: 09\d{7,9} — “ဆက်သွယ်ရန် 09765432101” ထဲက 09765432101 ကို မိတယ်
Email: [\w.]+@\w+\.\w+ — “contact me at min@gmail.com” ထဲက min@gmail.com ကို မိတယ်
ရက်စွဲ: \d{4}-\d{2}-\d{2} — 2026-10-13 လို ပုံစံတွေ မိတယ်
Python မှာ သုံးတာ ဒီလိုပါ —
import re
text = "ဆက်သွယ်ရန် 09765432101, 09987654321"
phones = re.findall(r"09\d{7,9}", text)
print(phones) # ['09765432101', '09987654321']
နှစ်ကြောင်းတည်း။ Loop ပတ်စရာ မလို၊ if တွေ ရေးစရာ မလို။
နေ့တိုင်းသုံးနေတဲ့ နေရာတွေမှာ regex က ဝှက်ထားတယ် —
VS Code / Notepad++ မှာ Find & Replace လုပ်တဲ့အခါ regex mode ဖွင့်လို့ ရတယ်။ ဖိုင် ၁၀၀ ထဲက ရက်စွဲပုံစံ အဟောင်းအားလုံးကို အသစ်ပြောင်းတာ တစ်ချက်တည်း
Form မှာ email ထည့်တာ မှန်/မှား စစ်တာ (validation) — website တိုင်းမှာ သုံးတယ်
Log file အကြီးကြီးထဲက error လိုင်းတွေ ဆွဲထုတ်တာ
စစ ချင်းမှာ လူတိုင်း မှားတတ်တဲ့ အမှား နှစ်ခု ရှိတယ် —
Greedy ဖြစ်တာ။ .* ဆိုတာ လောဘအကြီးဆုံး — တတ်နိုင်သမျှ အရှည်ဆုံး ယူတယ်။ ".*" လို့ ရေးပြီး "hello" and "world" ထဲမှာ ရှာရင် နှစ်ခုလုံးကို တစ်ခါတည်း ယူသွားတယ်။ ".*?" လို့ ? ထည့်မှ တစ်တစ်ခုချင်း ယူတယ်
Escape မေ့တာ။ . က regex မှာ “ဘာဖြစ်ဖြစ် တစ်လုံး” လို့ အဓိပ္ပာယ်ရတယ်။ တကယ့် အစက်ကို ရှာချင်ရင် \. လို့ ရေးရတယ်။ Email pattern မှာ \.\w+ လို့ ရေးရတဲ့ အကြောင်း ဒါပဲ
လေ့ကျင့်ချင်ရင် regex101.com ကို ဖွင့်ပါ။ ဘယ်ဘက်မှာ စာသား ထည့်၊ အလယ်မှာ pattern ရေး — ကိုက်ညီတဲ့ အပိုင်းတွေ ချက်ချင်း အရောင် ထွက်လာတယ်။ ညာဘက်မှာ pattern ရဲ့ အဓိပ္ပာယ်ကို တစ်ကြောင်းချင်း ရှင်းပြပေးတယ်။ ကျွန်တော် အရင်က regex ကို ဒီ site နဲ့ပဲ သင်ခဲ့တာ။
Regex ကို လူတွေ “write-only language” လို့ စကြတယ် — ရေးတုန်းက နားလည်တယ်၊ တစ်ပတ်ကြာရင် ကိုယ်တိုင်တောင် ပြန်ဖတ်မရဘူးတဲ့။ နည်းနည်းတော့ မှန်တယ်။ ဒါကြောင့် pattern အရှည်ကြီးတွေ ရေးမိရင် comment တစ်ကြောင်း ရေးထားပါ။ နောင်တစ်ချိန် ကိုယ့်ဟာကိုယ် ကျေးဇူးတင်မိလိမ့်မယ်။ 🙂