⊗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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау