⊗ppPmRgNPB 252 of 447 menu

PHP'деги регулярдуу жазылыштардагы сактабаган кашалар

Кашалар () эки функцияны аткарат - белгилерди топтоо жана карман функциясы. Ал эми эгерде биз топтоо керек болсо, бирок карманга салбоо керек болсо эмне кылуу керек? Мындай көйгөйгө чечим катары атайын сактабаган кашалар (?: ) ойлоп табылган - алар топтойт, бирок карманга салбайт.

Мисал

Төмөндөгү мисалда биринчи кашалар бизге топтоо үчүн керек, ал эми экинчи кашалар - карман үчүн. Бирок, экөө тең кашалар маалыматтарды карманга сактайт:

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

Натыйжада биздин кармандарда төмөндөгүлөр болот:

<?php var_dump($res[0]); // 'abab123' чыгарат var_dump($res[1]); // 'ab' чыгарат var_dump($res[2]); // '123' чыгарат ?>

Мисал

Биринчи кашалар жөн гана топтошуп, карманга салбашы үчүн кылалы:

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

Натыйжада биринчи карманда биздин саныбыз болот:

<?php var_dump($res[1]); // '123' чыгарат ?>

Практикалык тапшырмалар

Эки бөлүккө бөлүнгөн, $@ жуптарынын өзгөчө саны менен бөлүнгөн кошумча саптар берилген:

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

Ар бир ушундай кошумча сапты табыңыз жана ар бир табылган кошумча сап үчүн биринчи карманга бөлгүчтүн алдында турган нерсени, ал эми экинчи карманга - бөлгүчтүн артында турган нерсени салыңыз.

Кыргызча
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어LietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу