⊗ppPmRgNPB 252 of 447 menu

PHP-ში რეგულარული გამონათქვამების არადამახსოვრებადი ფრჩხილები

ფრჩხილებს () აქვთ ორი ფუნქცია - სიმბოლოების დაჯგუფება და "ჯიბის" ფუნქცია. რა ვქნათ, თუ გვსურს დაჯგუფება, მაგრამ "ჯიბეში" ჩაწერა არ გვსურს? ამ პრობლემის გადასაჭრელად შექმნილა სპეციალური არადამახსოვრებადი ფრჩხილები (?: ) - ისინი აჯგუფებენ, მაგრამ არ ინახავენ "ჯიბეში".

მაგალითი

შემდეგ მაგალითში პირველი ფრჩხილები გვჭირდება დაჯგუფებისთვის, ხოლო მეორე - "ჯიბისთვის". თუმცა, ორივე ფრჩხილები ინახავს მონაცემებს "ჯიბეში":

<?php $str = 'abab123'; $reg = '#(ab)+([1-9]+)#'; preg_match_all($reg, $str, $res); ?>

შედეგად, ჩვენს "ჯიბეებში" იქნება შემდეგი:

<?php var_dump($res[0]); // გამოიტანს 'abab123' var_dump($res[1]); // გამოიტანს 'ab' var_dump($res[2]); // გამოიტანს '123' ?>

მაგალითი

მოდით, გავხადოთ ისე, რომ ფრჩხილების პირველმა წყვილმა მხოლოდ დაჯგუფება მოახდინოს, მაგრამ არ ჩაიწეროს "ჯიბეში":

<?php $str = 'abab123'; $reg = '#(?:ab)+([1-9]+)#'; preg_match_all($reg, $str, $res); ?>

შედეგად, პირველ "ჯიბეში" იქნება ჩვენი რიცხვი:

<?php var_dump($res[1]); // გამოიტანს '123' ?>

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

მოცემულია ქვესტრიქონები, გაყოფილი ორ ნაწილად $@-ის წყვილების თვითნებური რაოდენობით:

<?php $str = 'aaa$@bbb aaa$@$@bbb aaa$@$@$@bbb'; ?>

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

ქართული
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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა