⊗ppPmRgNPB 252 of 447 menu

PHP ရှိ Regular Expression များတွင် Non-Capturing Parentheses များ

ကွင်းစကွင်းပိတ် () များသည် လုပ်ဆောင်ချက် နှစ်မျိုးရှိသည် - စာလုံးများအုပ်စုဖွဲ့ခြင်းနှင့် Capture Group ၏ လုပ်ဆောင်ချက်ဖြစ်သည်။ သို့သော် ကျွန်ုပ်တို့ အုပ်စုဖွဲ့လိုပြီး Capture Group ထဲသို့ မထည့်လိုပါက ဘာလုပ်ရမည်နည်း။ ထိုကဲ့သို့သော ပြဿနာများအတွက် ဖြေရှင်းနည်းအဖြစ် အထူး Non-Capturing Parentheses (?: ) များကို တီထွင်ထားသည် - ၎င်းတို့သည် အုပ်စုဖွဲ့ပေးသော်လည်း Capture Group ထဲသို့ မထည့်ပါ။

ဥပမာ

အောက်ပါ ဥပမာတွင် ပထမကွင်းများသည် အုပ်စုဖွဲ့ရန် လိုအပ်ပြီး၊ ဒုတိယကွင်းများသည် Capture Group အတွက် ဖြစ်သည်။ သို့သော် ကွင်းနှစ်မျိုးလုံးသည် အချက်အလက်များကို Capture Group ထဲသို့ သိမ်းဆည်းပေးသည်။

<?php $str = 'abab123'; $reg = '#(ab)+([1-9]+)#'; preg_match_all($reg, $str, $res); ?>

ရလဒ်အနေဖြင့် ကျွန်ုပ်တို့၏ Capture Group များထဲတွင် အောက်ပါအတိုင်း ရှိလာမည်။

<?php var_dump($res[0]); // 'abab123' ကို ဖော်ပြမည် var_dump($res[1]); // 'ab' ကို ဖော်ပြမည် var_dump($res[2]); // '123' ကို ဖော်ပြမည် ?>

ဥပမာ

ပထမ ကွင်းစုံသည် အုပ်စုဖွဲ့ရုံသာလုပ်ပြီး Capture Group ထဲသို့ မထည့်ရန် ပြုလုပ်ကြည့်ပါမည်။

<?php $str = 'abab123'; $reg = '#(?:ab)+([1-9]+)#'; preg_match_all($reg, $str, $res); ?>

ရလဒ်အနေဖြင့် ပထမ Capture Group ထဲတွင် ကျွန်ုပ်တို့၏ ဂဏန်းများ ရှိလာမည်။

<?php var_dump($res[1]); // '123' ကို ဖော်ပြမည် ?>

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

ပေးထားသော စာကြောင်းခွဲများကို $@ စုံဖြင့် ခွဲထားသော အပိုင်းနှစ်ပိုင်းအဖြစ် ခွဲထားသည်။

<?php $str = 'aaa$@bbb aaa$@$@bbb aaa$@$@$@bbb'; ?>

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

မြန်မာ
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 များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်