⊗ppPmRgGL 229 of 447 menu

PHP တွင် Regular Expressions ၏ လောဘကို ကန့်သတ်ခြင်း

Regular Expressions များသည် ပုံမှန်အားဖြင့် လောဘရှိသော ဖြစ်သည်။ ဆိုလိုသည်မှာ ၎င်းတို့သည် ဖြစ်နိုင်သမျှ စာလုံးအရေအတွက် အများဆုံးကို ဖမ်းယူသည်။

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

<?php $str = 'aeeex zzz x kkk'; ?>

ကျွန်ုပ်တို့သည် ဤစာကြောင်းထဲတွင် စာကြောင်းခွဲ 'aeeex' ကို အောက်ပါ pattern အရ ရှာလိုသည်။ စာလုံး 'a'၊ ထို့နောက် မည်သည့်စာလုံးမဆို တစ်ကြိမ် (သို့) အကြိမ်များစွာ၊ ထို့နောက် စာလုံး 'x'

<?php $res = preg_replace('#a.+x#', '!', $str); ?>

ကျွန်ုပ်တို့မျှော်လင့်သည်မှာ ရလဒ်အဖြစ် variable ထဲသို့ စာကြောင်း '! zzz x kkk' ရေးထည့်မည်ဖြစ်သည်။ သို့သော် ထိုသို့မဟုတ်ပါ - variable ထဲသို့ စာကြောင်း '! kkk' ရောက်ရှိလာသည်။

အကြောင်းရင်းမှာ ကျွန်ုပ်တို့၏ regex သည် စာလုံး 'a' မှ စာလုံး 'x' အထိ စာလုံးအားလုံးကို ရှာသည်။ သို့သော် ကျွန်ုပ်တို့၏ စာကြောင်းတွင် 'x' စာလုံး နှစ်လုံးရှိသည်။ လောဘကြောင့် regex သည် နောက်ဆုံး x ထိ ရှာဖွေပြီး ကျွန်ုပ်တို့မျှော်လင့်ထားသည်မဟုတ်သော အရာကို ဖမ်းယူလိုက်သည်။

သေချာသည်မှာ၊ မကြာခဏဆိုသလို ဤအပြုအမူသည် ကျွန်ုပ်တို့လိုအပ်သည့်အရာပင် ဖြစ်သည်။ သို့သော် ဤအခြေအနေတွင်မူ ကျွန်ုပ်တို့သည် လောဘကို ပယ်ဖျက်ကာ regex အား ပထမဆုံး x ကို တွေ့သည်အထိသာ ရှာဖွေရန် ပြောလိုသည်။

လောဘကို ကန့်သတ်ရန်၊ repetition operator ၏ နောက်တွင် မေးခွန်းသင်္ကေတကို ထားရှိရမည်။

<?php $res = preg_replace('#a.+?x#', '!', $str); ?>

လောဘကို repetition operator အားလုံးတွင် ကန့်သတ်နိုင်သည်၊ ဤကဲ့သို့ဖြစ်သည်။ *?, ?? နှင့် {}?

အောက်ပါစာကြောင်းကို ပေးထားသည်။

<?php $str = 'aba accca azzza wwwwa'; ?>

အနားနှစ်ဖက်တွင် စာလုံး 'a' ရှိသော စာကြောင်းအားလုံးကို ရှာပြီး ၎င်းတစ်ခုစီကို '!' ဖြင့် အစားထိုးမည့် regex တစ်ခုကို ရေးပါ။ စာလုံး a နှစ်လုံးကြားတွင် မည်သည့်စာလုံးမဆို ရှိနိုင်သည် (စာလုံး 'a' မှလွဲ၍)။

မြန်မာ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ဝက်ဘ်ဆိုက် လုပ်ဆောင်ခြင်း၊ ဆန်းစစ်လေ့လာခြင်းနှင့် ပုဂ္ဂလိကပြုပြင်ခြင်းအတွက် ကျွန်ုပ်တို့သည် cookie များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်