PHP တွင် Regular Expressions အသုံးပြုမှု အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ခြင်း

Regular Expressions များသည် အလွန်လေးလံပြီး နှိုင်းယှဉ်လျှင် နှေးကွေးစွာ အလုပ်လုပ်သော အရာများ ဖြစ်သည်။ အခြားရွေးချယ်စရာ ဖြေရှင်းနည်းတစ်ခု ရှိပါက၊ ထိုနည်းကိုသာ အသုံးပြုသင့်သည်။

ဥပမာတစ်ခုအား ကြည့်ကြပါစို့။ ကျွန်ုပ်တို့အား စာသားတစ်ခုသည် အာမေဋိတ်အမှတ် (exclamation mark) ဖြင့် စပါသလား စစ်ဆေးရန် လိုအပ်သည်ဟု ဆိုကြပါစို့။ ပရိုဂရမ်မာတစ်ဦးက ဤလိုအပ်ချက်ကို Regular Expression ဖြင့် ဖြေရှင်းခဲ့သည်။

php<?php
  if (preg_match('#^!#', $str)) {
    echo 'ဟုတ်ကဲ့';
  } else {
    echo 'မဟုတ်ပါ';
  }
?>

သို့သော်၊ ဤကဲ့သို့သော လိုအပ်ချက်အတွက် အလွန်မြန်ဆန်စွာ အလုပ်လုပ်သော ဖြေရှင်းနည်း ရှိပါသည်။

php<?php
  if ($str[0] == '!') {
    echo 'ဟုတ်ကဲ့';
  } else {
    echo 'မဟုတ်ပါ';
  }
?>

Regular Expressions များသည် အလွန်လေးလံပြီး နှိုင်းယှဉ်လျှင် နှေးကွေးစွာ အလုပ်လုပ်သော အရာများ ဖြစ်သည်။ အခြားရွေးချယ်စရာ ဖြေရှင်းနည်းတစ်ခု ရှိသည့်နေရာတိုင်းတွင်၊ �ိုနည်းကိုသာ အသုံးပြုသင့်သည်။

Задание 1

အောက်ပါကုဒ်တွင် ပရိုဂရမ်မာတစ်ဦးသည် စာသားတစ်ခုအတွင်း၌ '333' ဆိုသည့် စာကြောင်းခွဲ (substring) ပါရှိမရှိ စစ်ဆေးနေသည်။ ထိုပရိုဂရမ်မာ၏ ဖြေရှင်းနည်းကို အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ပါ။

ကုဒ်မှာ အောက်ပါအတိုင်းဖြစ်သည်။

php<?php
  $str = '1233345';
  
  if (preg_match('#333#', $str)) {
    echo 'ပါရှိသည်';
  } else {
    echo 'မပါရှိပါ';
  }
?>
Задание 2

အောက်ပါကုဒ်တွင် ပရိုဂရမ်မာတစ်ဦးသည် စာသားတစ်ခုသည် .html ဖြင့် ဆုံးပါသလား စစ်ဆေးနေသည်။ ထိုပရိုဂရမ်မာ၏ ဖြေရှင်းနည်းကို အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ပါ။

ကုဒ်မှာ အောက်ပါအတိုင်းဖြစ်သည်။

php<?php
  $str = 'index.html';
  
  if (preg_match('#\.html$#', $str)) {
    echo 'ဟုတ်ကဲ့';
  } else {
    echo 'မဟုတ်ပါ';
  }
?>
Задание 3

စာသားတစ်ခုသည် .png သို့မဟုတ် .jpg ဖြင့် ဆုံးပါသလား စစ်ဆေးမည့် ကုဒ်ကို ရေးသားပါ။