စာလုံးများ ထပ်ခါထပ်ခါပြုလုပ်ခြင်း အော်ပရေတာများ

စာလုံးတစ်လုံးသည် သတ်မှတ်ထားသောအကြိမ်အရေအတွက် ထပ်ခါထပ်ခါပြုလုပ်သည်ကို ညွှန်ပြလိုသည့်အခြေအနေများ ရှိပါသည်။ အကြိမ်အရေအတွက်အတိအကျကို သိပါက ၎င်းကို အကြိမ်များစွာ ရေးနိုင်ပါသည် - #aaaa#။ သို့သော် "တစ်ကြိမ် သို့မဟုတ် ထို့ထက်ပို၍ ပြန်လုပ်ပါ" ဟု ပြောလိုပါက ဘာလုပ်ရမည်နည်း။

ဤအတွက် (quantifiers) ဟုခေါ်သော အထပ်ထပ်အော်ပရေတာများ ရှိပါသည်- ပလပ်စ် + (တစ်ကြိမ် သို့မဟုတ် ထို့ထက်ပို၍)၊ ကြယ်ပွင့် * (သုည သို့မဟုတ် ထို့ထက်ပို၍) နှင့် မေးခွန်းသင်္ကေတ ? (သုည သို့မဟုတ် တစ်ကြိမ်) တို့ဖြစ်သည်။ ဤအော်ပရေတာများသည် ၎င်းတို့၏ရှေ့တွင် ရှိသော စာလုံးအပေါ်တွင် သက်ရောက်မှုရှိသည်။

ဥပမာများဖြင့် ဤအော်ပရေတာများ၏လုပ်ဆောင်ချက်ကို ကြည့်ရှုကြပါစို့။

ဥပမာ

"စာလုံး 'x'၊ စာလုံး 'a' တစ်ကြိမ် သို့မဟုတ် ထို့ထက်ပို၍၊ စာလုံး 'x'" ပုံစံနှင့် ကိုက်ညီသော စာကြောင်းခွဲအားလုံးကို ရှာဖွေပါမည်-

php<?php
  $str = 'xx xax xaax xaaax xbx';
  $res = preg_replace('#xa+x#', '!', $str);
?>

ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း variable ထဲသို့ ရေးသွင်းပါမည်-

php'xx ! ! ! xbx'

ဥပမာ

"စာလုံး 'x'၊ စာလုံး 'a' သုည သို့မဟုတ် ထို့ထက်ပို၍၊ စာလုံး 'x'" ပုံစံနှင့် ကိုက်ညီသော စာကြောင်းခွဲအားလုံးကို ရှာဖွေပါမည်-

php<?php
  $str = 'xx xax xaax xaaax xbx';
  $res = preg_replace('#xa*x#', '!', $str);
?>

ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း variable ထဲသို့ ရေးသွင်းပါမည်-

php'! ! ! ! xbx'

ဥပမာ

"စာလုံး 'x'၊ စာလုံး 'a' သုည သို့မဟုတ် တစ်ကြိမ်၊ စာလုံး 'x'" ပုံစံနှင့် ကိုက်ညီသော စာကြောင်းခွဲအားလုံးကို ရှာဖွေပါမည်-

php<?php
  $str = 'xx xax xaax xbx';
  $res = preg_replace('#xa?x#', '!', $str);
?>

ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း variable ထဲသို့ ရေးသွင်းပါမည်-

php'! ! xaax xbx'

လက်တွေ့လေ့ကျင့်ခန်းများ

Задание 1

စာကြောင်းတစ်ခု ပေးထားသည်-

php<?php
  $str = 'aa aba abba abbba abca abea';
?>

"စာလုံး 'a'၊ စာလုံး 'b' တစ်ကြိမ် သို့မဟုတ် ထို့ထက်ပို၍၊ စာလုံး 'a'" �ုံစံနှင့် ကိုက်ညီသော စာကြောင်းများကို ရှာဖွေမည့် ရီဂျူလာကို ရေးပါ။

Задание 2

စာကြောင်းတစ်ခု ပေးထားသည်-

php<?php
  $str = 'aa aba abba abbba abca abea';
?>

"စာလုံး 'a'၊ စာလုံး 'b' သုည သို့မဟုတ် ထို့ထက်ပို၍၊ စာလုံး 'a'" �ုံစံနှင့် ကိုက်ညီသော စာကြောင်းများကို ရှာဖွေမည့် ရီဂျူလာကို ရေးပါ။

Задание 3

စာကြောင်းတစ်ခု ပေးထားသည်-

php<?php
  $str = 'aa aba abba abbba abca abea';
?>

"စာလုံး 'a'၊ စာလုံး 'b' တစ်ကြိမ် သို့မဟုတ် မည်သည့်အကြိမ်မျှမဟုတ်၊ စာလုံး 'a'" ပုံစံနှင့် ကိုက်ညီသော စာကြောင်းများကို ရှာဖွေမည့် ရီဂျူလာကို ရေးပါ။

Задание 4

စာကြောင်းတစ်ခု ပေးထားသည်-

php<?php
  $str = 'aa aba abba abbba abca abea';
?>

'aa', 'aba', 'abba', 'abbba' စာကြောင်းများကို 'abca' နှင့် 'abea' ကို မဖမ်းမိစေဘဲ ရှာဖွေမည့် ရီဂျူလာကို ရေးပါ။