PHP တွင် Regular Expression များအတွက် 'သို့မဟုတ်' ညွှန်ကြားချက်
ဤသင်ခန်းစာတွင် ကျွန်ုပ်တို့သည်
| ညွှန်ကြားချက်ကို ခွဲခြမ်းစိတ်ဖြာပါမည်။
၎င်းသည် [] ညွှန်ကြားချက်ထက်
ပိုမိုစွမ်းအားရှိသော သို့မဟုတ် ဗားရှင်းတစ်ခု
ဖြစ်ပါသည်။ ဤညွှန်ကြားချက်သည် regex ကို
�ပိုင်းများစွာခွဲခြားရန် ခွင့်ပြုပါသည်။
ဤအခါ ရှာဖွေတွေ့ရှိရမည့်အရာသည် regex ၏
တစ်ပိုင်းအောက်သို့ ကျရောက်နိုင်သကဲ့သို့
အခြားအပိုင်းအောက်သို့လည်း ကျရောက်နိုင်ပါသည်။
ဥပမာများဖြင့် ကြည့်ရှုကြပါစို့။
ဥပမာ
ဤဥပမာတွင် ရှာဖွေမှုပုံစံမှာ - အက္ခရာ
'a' သုံးလုံး သို့မဟုတ် အက္ခရာ
'b' သုံးလုံး ဖြစ်သည်။
<?php
$str = 'aaa bbb abb';
$res = preg_replace('#a{3}|b{3}#', '!', $str);
?>
ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း variable ထဲသို့ ရေးသွင်းပါလိမ့်မည်။
'! ! abb'
ဥပမာ
ဤဥပမာတွင် ရှာဖွေမှုပုံစံမှာ - အက္ခရာ
'a' သုံးလုံး သို့မဟုတ် အက္ခရာ
'b' 1 လုံး သို့မဟုတ် ထို့ထက်ပိုသော ဖြစ်သည်။
<?php
$str = 'aaa bbb bbbb bbbbb axx';
$res = preg_replace('#a{3}|b+#', '!', $str);
?>
ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း variable ထဲသို့ ရေးသွင်းပါလိမ့်မည်။
'! ! ! ! axx'
ဥပမာ
ဤဥပမာတွင် ရှာဖွေမှုပုံစံမှာ - အက္ခရာ တစ်လုံး သို့မဟုတ် တစ်လုံးထက်ပိုသော သို့မဟုတ် ဂဏန်းသုံးလုံး ဖြစ်သည်။
<?php
$str = 'a ab abc 1 12 123';
$res = preg_replace('#[a-z]+|\d{3}#', '!', $str);
?>
ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း variable ထဲသို့ ရေးသွင်းပါလိမ့်မည်။
'! ! ! 1 12 !'
ဥပမာ
ဒေါင်လိုက်မျဉ်းသည် regex ကို နှစ်ပိုင်းသာမက မည်သည့်အပိုင်းခွဲအရေအတွက်ကိုမဆို ခွဲခြားနိုင်ပါသည်။
<?php
$str = 'aaa bbb ccc ddd';
$res = preg_replace('#a+|b+|c+#', '!', $str);
?>
ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း variable ထဲသို့ ရေးသွင်းပါလိမ့်မည်။
'! ! ! ddd'
ဥပမာ
ဒေါင်လိုက်မျဉ်းသည် ကွင်းလုံးများ
အတွင်း၌ရှိပါက 'သို့မဟုတ်' သည် ထိုကွင်းများ
အတွင်းတွင်သာ အလုပ်လုပ်ပါသည်။ ဥပမာအနေဖြင့်
အောက်ပါပုံစံဖြင့် စာကြောင်းများကို
ရှာဖွေကြည့်ပါ။ အစတွင်
'a'၊ သို့မဟုတ် 'b' တစ်ကြိမ် သို့မဟုတ်
တစ်ကြိမ်ထက်ပိုပြီးရှိနေပြီး ၎င်းနောက် အက္ခရာ 'x' နှစ်လုံး။
<?php
$str = 'axx bxx bbxx exx';
$res = preg_replace('#(a|b+)xx#', '!', $str);
?>
ရလဒ်အနေဖြင့် အောက်ပါအတိုင်း variable ထဲသို့ ရေးသွင်းပါလိမ့်မည်။
'! ! ! exx'
လက်တွေ့လေ့ကျင့်ခန်းများ
စာကြောင်းတစ်ခုပေးထားပါသည်။
<?php
$str = 'aeeea aeea aea axa axxa axxxa';
?>
�ောက်ပါပုံစံဖြင့် စာကြောင်းများကို
ရှာဖွေမည့် regex တစ်ခုကိုရေးပါ။ အစွန်းများတွင် အက္ခရာ 'a'၊
များရှိပြီး ၎င်းတို့ကြားတွင် - အက္ခရာ 'e' မည်မျှပမာဏမဆို သို့မဟုတ် အက္ခရာ 'x' မည်မျှပမာဏမဆို။
စာကြောင်းတစ်ခုပေးထားပါသည်။
<?php
$str = 'aeeea aeea aea axa axxa axxxa';
?>
အောက်ပါပုံစံဖြင့် စာကြောင်းများကို
ရှာဖွေမည့် regex တစ်ခုကိုရေးပါ။ အစွန်းများတွင် အက္ခရာ 'a'၊
များရှိပြီး ၎င်းတို့ကြားတွင် - အက္ခရာ 'e' နှစ်ကြိမ်
သို့မဟုတ် အက္ခရာ 'x' မည်မျှပမာဏမဆို။