⊗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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել