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

मान लीजिए कि हमारे पास एक स्ट्रिंग है जिसमें डोमेन है:

php<?php
  $str = 'eee site.ru bbb';
?>

आइए इस डोमेन को ढूंढें और इसे भागों में विभाजित करें: डोमेन के नाम को उसके ज़ोन से अलग करें। इसके लिए हम रेगुलर एक्सप्रेशन के विशेष पॉकेट्स का उपयोग करेंगे।

पॉकेट्स ऐरे के एलिमेंट्स होते हैं, जिनमें रेगुलर एक्सप्रेशन द्वारा पाए गए भागों को रखा जा सकता है। हमारे मामले में, पहले पॉकेट में हम डोमेन का नाम रख सकते हैं, और दूसरे में - इसका ज़ोन।

आइए इसे करें। सबसे पहले एक रेगुलर एक्सप्रेशन लिखें, जो स्ट्रिंग में डोमेन ढूंढती है:

php<?php
  $reg = '#[a-z0-9_-]+\.[a-z]{2,}#';
?>

आइए अब हम अपनी रेगुलर एक्सप्रेशन में यह दर्शाएं कि कौन से भाग किस पॉकेट में जाने चाहिए। यह गोल कोष्ठकों की सहायता से किया जाता है। आइए उनकी सहायता से रेगुलर एक्सप्रेशन के उस भाग को अलग करें, जो डोमेन का नाम ढूंढती है, और उस भाग को, जो डोमेन ज़ोन ढूंढती है:

php<?php
  $reg = '#([a-z0-9_-]+)\.([a-z]{2,})#';
?>

अब preg_match फ़ंक्शन में तीसरे पैरामीटर के रूप में एक वेरिएबल निर्दिष्ट करें (कोई भी नाम):

php<?php
  preg_match($reg, $str, $res);
?>

निर्दिष्ट वेरिएबल में पाए गए पॉकेट्स वाली एक ऐरे आ जाएगी। इसमें ऐरे के ज़ीरो एलिमेंट में पाई गई स्ट्रिंग होगी, पहले एलिमेंट में - पहला पॉकेट, दूसरे एलिमेंट में - दूसरा पॉकेट और इसी तरह आगे:

php<?php
  preg_match($reg, $str, $res);
  var_dump($res); // ['site.ru', 'site', 'ru' आउटपुट करेगा]
?>
Задание 1

एक स्ट्रिंग दी गई है जिसमें तारीख है:

php<?php
  $str = '2025-12-31';
?>

साल, महीना और दिन अलग-अलग पॉकेट्स में रखें।

Задание 2

एक स्ट्रिंग दी गई है जिसमें फ़ाइल का नाम है:

php<?php
  $str = 'index.html';
?>

फ़ाइल का नाम और उसका एक्सटेंशन अलग-अलग पॉकेट्स में रखें।