რეგულარული გამონათქვამები PHP-ში - შესავალი
რეგულარული გამონათქვამები არის ბრძანებები რთული ძიებისა და ჩანაცვლებისთვის. ისინი საშუალებას გაძლევთ გააკეთოთ ძალიან საინტერესო რამ, მაგრამ, სამწუხაროდ, საკმაოდ რთულია დასაუფლებლად.
არსებობს PHP-ის რამდენიმე ფუნქცია რეგულარულ გამონათქვამებთან
მუშაობისთვის. ჩვენ გავეცნობით მათ მაგალითით preg_replace. ეს
ფუნქცია პირველ პარამეტრად იღებს რა უნდა შეიცვალოს,
მეორედ - რაზე უნდა შეიცვალოს, ხოლო მესამე პარამეტრად
- სტრიქონს, რომელშიც საჭიროა ჩანაცვლება:
<?php
preg_replace(რა უნდა შეიცვალოს, რაზე, სტრიქონი);
?>
ამ შემთხვევაში, ჩვენი ფუნქცია პირველ პარამეტრად იღებს
არა უბრალო სტრიქონს, არამედ რეგულარულ გამონათქვამს,
რომელიც წარმოადგენს სტრიქონს ბრძანებების კომპლექტით,
განთავსებული ჩარჩოს სიმბოლოების # შიგნით.
ამ ჩარჩოებს ეწოდებათ შემზღუდველები
რეგულარული გამონათქვამის.
შემზღუდველების შემდეგ შეგიძლიათ დაწეროთ მოდიფიკატორები - ბრძანებები, რომლებიც ცვლის რეგულარული გამონათქვამის ზოგად თვისებებს.
თავად რეგულარული გამონათქვამები შედგება ორი ტიპის სიმბოლოსგან: მათგან, რომლებიც აღნიშნავენ თავის თავს და სიმბოლო-ბრძანებებისგან, რომლებსაც ეწოდებათ სპეციალური სიმბოლოები.
ასოები და ციფრები აღნიშნავენ თავის თავს. შემდეგ
მაგალითში ჩვენ რეგულარული გამონათქვამის საშუალებით
შევცვლით ასო 'a'-ს '!'-ზე:
<?php
preg_replace('#a#', '!', 'bab'); // დააბრუნებს 'b!b'
?>
წერტილი კი სპეციალური სიმბოლოა
და აღნიშნავს ნებისმიერ სიმბოლოს. შემდეგ
მაგალითში ჩვენ ვიპოვით სტრიქონს შემდეგი შაბლონით:
ასო 'x', შემდეგ ნებისმიერი სიმბოლო, შემდეგ
კვლავ ასო 'x':
<?php
preg_replace('#x.x#', '!', 'xax eee'); // დააბრუნებს '! eee'
?>
მოცემულია სტრიქონი:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
დაწერეთ რეგულარული გამონათქვამი, რომელიც იპოვის სტრიქონებს
'ahb', 'acb', 'aeb'
შაბლონის მიხედვით: ასო 'a', ნებისმიერი სიმბოლო,
ასო 'b'.
მოცემულია სტრიქონი:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
დაწერეთ რეგულარული გამონათქვამი, რომელიც იპოვის სტრიქონებს
'aeeb', 'adcb', 'axeb'
შაბლონის მიხედვით: ასო 'a', ნებისმიერი ორი
სიმბოლო, ასო 'b'.