⊗ppPmRgSHy 238 of 447 menu

ტირე ნაკრებების შიგნით PHP-ის რეგულარულ გამოსახულებებში

ტირე - ასევე სპეციალური სიმბოლოა []-ის შიგნით (გარეთ კი - არა). თუ თქვენ გჭირდებათ თავად ტირე, როგორც სიმბოლო - მაშინ მოათავსეთ ის იქ, სადაც ის არ აღიქმება, როგორც ჯგუფის გამყოფი.

რატომ არის ეს მნიშვნელოვანი: თქვენ შეგიძლიათ შექმნათ სიმბოლოთა ჯგუფი, თავად ამის შეუმჩნევლად. მაგალითად, აი ასე - [:-@] - თქვენ ფიქრობთ, რომ ირჩევთ მრვიწყოებას, ტირეს და სიმბოლოს @, როდესაც სინამდვილეში მიიღება სიმბოლოთა ჯგუფი :-სა და @-ს შორის. ამ ჯგუფში შედის შემდეგი სიმბოლოები: :, ;, ?, <, =, >.

საიდან გაჩნდნენ ისინი? ASCII-ის ცხრილიდან - მრვიწყოებას აქვს ნომერი ნაკლები, ვიდრე სიმბოლოს @-ს - და მიიღება ჯგუფი. ანუ ყველა ჯგუფი მიიღება ASCII-ის ცხრილის მიხედვით (სურვილის შემთხვევაში ამით შესაძლებელია სარგებლობა).

როგორ უნდა ვიბრძოლოთ ამას: მოათავსეთ ტირის სიმბოლო იქ, სადაც ის ნამდვილად არ აღიქმება, როგორც ჯგუფის სიმბოლო, მაგალითად, დასაწყისში ან დასასრულში (ანუ [-ის შემდეგ ან ]-მდე).

ასევე შესაძლებელია ტირის ესკაპირება - მაშინ ის აღნიშნავს თავის თავს მიუხედავად პოზიციისა. მაგალითად, [:-@]-ის ნაცვლად დაწეროთ [:\-@] - და ჯგუფი აღარ იქნება, არამედ იქნება სამი სიმბოლო - მრვიწყოება, ტირე და სიმბოლო @.

მაგალითი

შემდეგ მაგალითში ძიების შაბლონი ასეთია: ციფრი 1, შემდეგ ასო 'a'-დან 'z'-მდე, შემდეგ ციფრი 2:

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

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

'! 1-2 ! !'

მაგალითი

ახლა კი ესკაპირება გავაკეთოთ ტირეს. შედეგად ძიების შაბლონი ასეთია: ციფრი 1, შემდეგ ასო 'a', ან ტირე, ან ასო 'z', შემდეგ ციფრი 2:

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

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

'! ! 1c2 !'

მაგალითი

შესაძლებელია უბრალოდ გადაადგილება ტირის, მისი ესკაპირების გარეშე:

<?php $str = '1a2 1-2 1c2 1z2'; $res = preg_replace('#1[az-]2#', '!', $str); ?>

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

'! ! 1c2 !'

მაგალითი

შემდეგ მაგალითში ძიების შაბლონი ასეთია: პირველი სიმბოლო - ეს არის პატარა ასოები ან ტირე '-', შემდეგ ორი ასო 'x':

<?php $str = 'axx Axx -xx @xx'; $res = preg_replace('#[a-z-]xx#', '!', $str); ?>

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

'! Axx ! @xx'

მაგალითი

შემდეგ მაგალითში ძიების შაბლონი ასეთია: პირველი სიმბოლო - ეს არის პატარა, დიდი ასოები ან ტირე '-', შემდეგ ორი ასო 'x':

<?php $str = 'axx Axx -xx @xx'; $res = preg_replace('#[a-zA-Z-]xx#', '!', $str); ?>

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

'! ! ! @xx'

მაგალითი

შესაძლებელია ტირის განთავსება ორ ჯგუფს შორის - იქ ის ნამდვილად არ შექმნის კიდევ ერთ ჯგუფს:

<?php $str = 'axx 9xx -xx @xx'; $res = preg_replace('#[a-z-0-9]xx#', '!', $str); ?>

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

'! ! ! @xx'

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

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

<?php $str = 'xaz xBz xcz x-z x@z'; ?>

იპოვეთ ყველა სტრიქონი შემდეგი შაბლონის მიხედვით: ასო 'x', დიდი ან პატარა ასო ან ტირე, ასო 'z'.

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

<?php $str = 'xaz x$z x-z xcz x+z x%z x*z'; ?>

იპოვეთ ყველა სტრიქონი შემდეგი შაბლონის მიხედვით: ასო 'x', შემდეგ ან დოლარის ნიშანი, ან ტირე ან პლუსი, შემდეგ ასო 'z'.

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