⊗ppPmRgNP 255 of 447 menu

Именувани групи во регуларните изрази во PHP

Нека со помош на preg_match сакаме да ја разложиме датата на ден, месец и година. Користете за ова групи:

<?php $str = '2025-10-29'; $reg = '#(\d{4})-(\d{2})-(\d{2})#'; preg_match($reg, $str, $match); var_dump($match); // ќе испринта ['2025-10-29', '2025', '10', '29'] ?>

Како што гледате, како резултат добиваме низа, во која на нултиот елемент ќе биде целата дата, во првиот - годината, во вториот - месецот, во третиот - денот.

Сепак, понекогаш, би било погодно содржината на групите да се добие во форма на асоцијативна низа. Односно во нашиот случај би било добро да се добие вакава низа:

[ 'year' => '2025', 'month' => '10', 'day' => '29' ]

За ова во регуларните изрази постои специјален синтакса. Еве го: (?<name>pattern), каде pattern - е регуларен израз, а name - е името на групата.

Ајде да ја преработиме нашата регуларка за дата преку именувани групи:

<?php $str = '2025-10-29'; $reg = '#(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})#'; preg_match($reg, $str, $match); var_dump($match); ?>

Како резултат ќе добиеме асоцијативна низа, во која клучевите ќе бидат имињата на групите, а вредностите - она што влегло во нив:

[ 'year' => '2025', 'month' => '10', 'day' => '29', ]

Всушност, во низата со резултат вредностите на групите ќе бидат достапни и по име, и по редословен број. Односно, на пример, годината ќе биде достапна по клуч 'year' и по број 1, месецот - по клуч 'month' и по број 2 и така натаму:

[ 'year' => '2025', 'month' => '10', 'day' => '29', 1 => '2025', 2 => '10', 3 => '29' ]

Опишаните именувани групи имаат уште неколку алтернативни синтакси: (?P<name>pattern) и (?'name'pattern).

Дадена е низа со време:

<?php $str = '12:59:59'; ?>

Ставете ги часовите, минутите и секундите во посебни именувани групи.

Напишете функција, која во низата со резултат ќе ги избрише сите нумерирани групи, оставајќи само именуваните.

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