⊗ppPmRgEP 254 of 447 menu

ჯიბეები რეგულარულ გამოსახულებაში PHP-ში

ჯიბეების შიგთავსი ხელმისაწვდომია არა მხოლოდ ჩანაცვლების სტრიქონში, არამედ თავად რეგულარულ გამოსახულებაში: ჩვენ შეგვიძლია რაღაცის ჯიბეში ჩადება და შემდეგ პირდაპირ რეგულარულ გამოსახულებაში ვთქვათ, რომ აქ უნდა იყოს ამ ჯიბის შიგთავსი.

ჯიბეების შიგთავსი ხელმისაწვდომია მათი ნომრების მიხედვით, რომლების წინაც დგას უკანა ხაზი. მაგალითად, ნულოვანი ჯიბე იქნება ასე ხელმისაწვდომი: \0, პირველი ჯიბე ასე - \1, მეორე - \2 და ასე შემდეგ.

დარწმუნებული ვარ, რომ ზემოთ written everything is still very ბუნდოვანი თქვენთვის. ეს გასაკვირი არ არის, რადგან როგორიცაა ჯიბეები - რეგულარული გამოსახულებების ყველაზე ნაკლებად გასაგები ადგილი რეგულარული გამოსახულებების. მოდით გავიგოთ მაგალითებით.

მაგალითი

დავუშვათ, გვაქვს ასეთი სტრიქონი:

<?php $str = 'aa bb cd ef'; ?>

მოდი ვიპოვოთ მასში ყველა ის ადგილი, სადაც ორი ერთი და იგივე ასო დგას ზედიზედ. ამოცანის გადასაჭრელად ჩვენ ვეძებთ ნებისმიერ ასოს, ვდებთ მას ჯიბეში და შემდეგ ვამოწმებთ, მოდის თუ არა შემდეგი სიმბოლო ამ ჯიბის შიგთავსი:

<?php $res = preg_replace('#([a-z])\1#', '!', $str); ?>

შედეგად ცვლადში ჩაიწერება შემდეგი:

'! ! cd ef'

მაგალითი

დავუშვათ, გვაქვს ასეთი სტრიქონი:

<?php $str = 'asxca buzxb csgd'; ?>

მოდი ვიპოვოთ მასში ყველა სიტყვა, რომელშიც ერთი და იგივეა პირველი და ბოლო ასო. ამოცანის გადასაჭრელად დავწერთ შემდეგ შაბლონს: ასო, შემდეგ კიდევ ერთი ან მეტი ასო, და შემდეგ იგივე ასო როგორც პირველი:

<?php $res = preg_replace('#([a-z])[a-z]+\1#', '!', $str); ?>

შედეგად ცვლადში ჩაიწერება შემდეგი:

'! ! csgd'

მაგალითი

\1-ის ნაცვლად შეიძლება დაწეროთ \g1:

<?php $res = preg_replace('#([a-z])[a-z]+\g1#', '!', $str); ?>

მაგალითი

ასევე შეიძლება დაწეროთ \g{1}:

<?php $res = preg_replace('#([a-z])[a-z]+\g{1}#', '!', $str); ?>

მაგალითი

ფიგურულ ფრჩხილებში შეიძლება მიუთითოთ უარყოფითი რიცხვები. ამ შემთხვევაში ჯიბეები დაითვლება ბოლოდან:

<?php $res = preg_replace('#([a-z])([a-z])\g{-2}#', '!', $str); ?>

პრაქტიკული ამოცანები

მოცემულია სტრიქონი:

<?php $str = 'aaa bbb ccc xyz'; ?>

იპოვეთ ყველა ქვესტრიქონი, რომელშიც არის სამი ერთი და იგივე ასო ზედიზედ.

მოცემულია სტრიქონი:

<?php $str = 'a aa aaa abab bbbb'; ?>

იპოვეთ ყველა ქვესტრიქონი, რომელშიც არის ორი ან მეტი ერთი და იგივე ასო ზედიზედ.

მოცემულია სტრიქონი:

<?php $str = 'aaa aaa bbb bbb ccc ddd'; ?>

იპოვეთ ყველა ქვესტრიქონი, რომელშიც არის ორი ერთი და იგივე სიტყვა ზედიზედ.

ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა