ჯიბეები რეგულარული გამონათქვამების საშუალებით ძიებისას 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';
?>

ჩადეთ ფაილის სახელი და მისი გაფართოება ცალკეულ ჯიბეებში.