⊗ppPmRgCPN 257 of 447 menu

Numri i përgjithshëm i xhepa në regex PHP

Le të shqyrtojmë situatën e mëposhtme. Supozoni se kemi një variabël me një vit, i cili mund të ndryshojë nga 19902099. Supozoni se duam të marrim dy shifrat e fundit të vitit në një xhep. Le të shkruajmë regex-in përkatës:

<?php $reg = '#19(9\d)|20(\d\d)#'; ?>

Sidoqoftë, këtu na pret një papërshtatsi. Çështja është se për vitet e shekullit të kaluar, dy shifrat do të përfundojnë në xhepin e parë, ndërsa për vitet e shekullit të dytë - në të dytin. Le të shohim me shembuj.

Këtu është opsioni i parë:

<?php $str = '1991'; preg_match($reg, $str, $res); var_dump($res); // [1 => '91'] ?>

Dhe këtu është opsioni i dytë:

<?php $str = '2021'; preg_match($reg, $str, $res); var_dump($res); // [2 => '21'] ?>

Supozoni tani që duam të shkruajmë shifrat e gjetura të vitit në një variabël. Ne do të përballemi me një problem, sepse nuk e dimë saktësisht me çelësin e cilin të marrim të dhënat nga xhepi:

<?php $year = $res[1]; // nevojitet çelësi 1 ose 2 ?>

Problemi mund të zgjidhet me një kusht:

<?php if (!empty($res[1])){ $year = $res[1]; } else{ $year = $res[2]; } ?>

Sidoqoftë, ekziston një zgjidhje më e thjeshtë. Mund të përdorni komandën speciale (?| ). Të gjithë xhepat që janë brenda saj do të kenë një numër.

Le të rregullojmë regex-in tonë

<?php $reg = '#(?|19(9\d)|20(\d\d))#'; ?>

Dhe tani viti ynë me siguri do të jetë në xhepin numër një:

<?php $year = $res[1]; ?>

Janë dhënë stringje me data, në të cilat viti mund të ndryshojë nga 19902099:

<?php $arr = [ '31-12-2025', '30-11-1995', '29-10-1990', ]; ?>

Për çdo datë, vendosni ditën në xhepin e parë, muajin në të dytin, dhe dy shifrat e fundit të vitit - në të tretin.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo