⊗ppPmRgCPN 257 of 447 menu

PHP रेगुलर एक्सप्रेशन में पॉकेट्स की कुल संख्या

निम्नलिखित स्थिति पर विचार करें। मान लीजिए कि हमारे पास एक वर्ष के साथ एक चर है, जो 1990 से 2099 तक बदल सकता है। मान लीजिए कि हम वर्ष के अंतिम दो अंक पॉकेट में प्राप्त करना चाहते हैं। आइए संबंधित रेगुलर एक्सप्रेशन लिखें:

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

हालाँकि, यहाँ एक असुविधा हमारी प्रतीक्षा कर रही है। तथ्य यह है कि पिछली सदी के वर्षों के लिए दो अंक पहले पॉकेट में जाएंगे, और दूसरी सदी के वर्षों के लिए - दूसरे में। आइए देखें उदाहरणों पर।

पहला विकल्प यहां दिया गया है:

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

और यहाँ दूसरा विकल्प है:

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

अब मान लीजिए कि हम पाए गए वर्ष के अंकों को एक चर में लिखना चाहते हैं। हमें एक समस्या का सामना करना पड़ेगा, क्योंकि हमें सटीक पता नहीं है कि डेटा को पॉकेट से किस कुंजी के साथ लेना है:

<?php $year = $res[1]; // कुंजी 1 या 2 चाहिए ?>

समस्या को शर्त के माध्यम से हल किया जा सकता है:

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

हालाँकि, एक सरल समाधान है। विशेष कमांड का उपयोग किया जा सकता है (?| )। सभी पॉकेट जो इसके अंदर स्थित हैं, उनका एक ही नंबर होगा।

आइए हमारे रेगुलर एक्सप्रेशन को सही करें

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

और अब हमारा वर्ष निश्चित रूप से नंबर एक के साथ पॉकेट में होगा :

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

तारीखों वाली स्ट्रिंग्स दी गई हैं, जिनमें वर्ष 1990 से 2099 तक बदल सकता है:

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

प्रत्येक तारीख के लिए दिन को पहले पॉकेट में रखें, महीने को दूसरे में, और वर्ष के अंतिम दो अंक - तीसरे में।

हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें