Hi everyone! I'm the author of code.mu :)
I'd love to chat with my non-Russian audience. I'm looking for your feedback on the site and the translation quality. Let's chat:)
⊗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çaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें