სიმბოლოების გამეორების ოპერატორები
ხდება სიტუაციები, როდესაც ჩვენ გვსურს მივუთითოთ,
რომ სიმბოლო მეორდება მოცემული რაოდენობის
ჯერ. თუ ჩვენ ვიცით გამეორების ზუსტი რიცხვი,
მაშინ შეგვიძლია უბრალოდ დავწეროთ ის რამდენჯერმე
- #aaaa#. მაგრამ რა ვქნათ, თუ გვსურს
ვთქვათ ასეთი რამ: გაიმეოროს ერთი ან მეტი
ჯერ?
ამისთვის არსებობენ გამეორების (კვანტიფიკატორები)
ოპერატორები: პლუსი + (ერთი ან მეტი ჯერ),
ვარსკვლავი * (ნული ან მეტი ჯერ) და
კითხვის ნიშანი ? (ნული ან ერთი ჯერ). ეს
ოპერატორები მოქმედებენ იმ სიმბოლოზე, რომელიც
მათ წინ დგას.
მოდით ვნახოთ ამ ოპერატორების მუშაობა მაგალითებზე.
მაგალითი
ვიპოვოთ ყველა ქვასტრიქონი შაბლონის მიხედვით ასო
'x', ასო 'a' ერთი ან მეტი
ჯერ, ასო 'x':
<?php
$str = 'xx xax xaax xaaax xbx';
$res = preg_replace('#xa+x#', '!', $str);
?>
შედეგად ცვლადში ჩაიწერება შემდეგი:
'xx ! ! ! xbx'
მაგალითი
ვიპოვოთ ყველა ქვასტრიქონი შაბლონის მიხედვით ასო
'x', ასო 'a' ნული ან მეტი
ჯერ, ასო 'x':
<?php
$str = 'xx xax xaax xaaax xbx';
$res = preg_replace('#xa*x#', '!', $str);
?>
შედეგად ცვლადში ჩაიწერება შემდეგი:
'! ! ! ! xbx'
მაგალითი
ვიპოვოთ ყველა ქვასტრიქონი შაბლონის მიხედვით ასო
'x', ასო 'a' ნული ან ერთი
ჯერ, ასო 'x':
<?php
$str = 'xx xax xaax xbx';
$res = preg_replace('#xa?x#', '!', $str);
?>
შედეგად ცვლადში ჩაიწერება შემდეგი:
'! ! xaax xbx'
პრაქტიკული ამოცანები
მოცემულია სტრიქონი:
<?php
$str = 'aa aba abba abbba abca abea';
?>
დაწერეთ რეგულარული გამონათქვამი, რომელიც იპოვის სტრიქონებს
შაბლონის მიხედვით: ასო 'a', ასო 'b'
ერთი ან მეტი ჯერ, ასო 'a'.
მოცემულია სტრიქონი:
<?php
$str = 'aa aba abba abbba abca abea';
?>
დაწერეთ რეგულარული გამონათქვამი, რომელიც იპოვის სტრიქონებს
შაბლონის მიხედვით: ასო 'a', ასო 'b'
ნული ან მეტი ჯერ, ასო 'a'.
მოცემულია სტრიქონი:
<?php
$str = 'aa aba abba abbba abca abea';
?>
დაწერეთ რეგულარული გამონათქვამი, რომელიც იპოვის სტრიქონებს
შაბლონის მიხედვით: ასო 'a', ასო 'b'
ერთი ჯერ ან არც ერთი, ასო 'a'.
მოცემულია სტრიქონი:
<?php
$str = 'aa aba abba abbba abca abea';
?>
დაწერეთ რეგულარული გამონათქვამი, რომელიც იპოვის სტრიქონებს
'aa', 'aba', 'abba',
'abbba', არ დაიჭიროს 'abca'
და 'abea'.