⊗ppPmRgEP 254 of 447 menu

PHP-dä düzgün ifadelerde karmanlar

Karmanlaryň mazmuny diňe çalyşma setirinde däl, eýsem düzgün ifadäniň özünde hem elýeterlidir: biz bir zatly karmana goýup, soňra düzgün ifadäniň içinde şu ýerde şol karmanyň mazmuny bolmalydygyny aýdyp bileris.

Karmanlaryň mazmuny olaryň belgileri boýunça elýeterlidir, olaryň öňünde ters süýüm bolýar. Mysal üçin, nol karman şeýle elýeterli bolar: \0, birinji karman şeýle - \1, ikinji - \2 we ş.m.

Men size ýokardakylaryň hemmesiňiz üçin entek düşnüksizdigine ynanýaryn. Bu täsin däl, sebäbi karmanlar düzgün ifadeleriň iň düşnüksiz ýeridir. Geliň mysallar bilen düşüneliň.

Mysal

Bizde şeýle setir bardyr diýeliň:

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

Geliň onda bir-birini yzarlaýan iki hili harp bar ýerleriň hemmesini tapalyň. Meseleni çözmek üçin, islendik bir harpy gözläris, ony karmana goýarys, soňra yzarlaýan nyşanyň şol karmanyň mazmuny ýaly bolýandygyny barlarys:

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

Netijede üýtgeýjä şu ýazylar:

'! ! cd ef'

Mysal

Bizde şeýle setir bardyr diýeliň:

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

Geliň onda birinji we soňky harplary deň bolan sözleriň hemmesini tapalyň. Çözmek üçin şu şablon ýazaris: harp, soňra ýene bir ýa-da birnäçe harp, soňra birinji harp ýaly bir harp:

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

Netijede üýtgeýjä şu ýazylar:

'! ! csgd'

Mysal

\1 ýerine \g1 ýazyp bolýar:

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

Mysal

Şeýle hem \g{1} ýazyp bolýar:

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

Mysal

Egme eýwanyň içinde ters belgiler görkezip bolýar. Bu ýagdaýda karmanlar ahyryndan sanalýar:

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

Amaly meseleler

Setir berlen:

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

Bir hatardan yzarlaýan üç deň harp bar bolan ähli aşaky setirleri tapyň.

Setir berlen:

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

Iki ýa-da ondan köp bir hatardan yzarlaýan deň harp bar bolan ähli aşaky setirleri tapyň.

Setir berlen:

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

Bir hatardan yzarlaýan iki deň söz bar bolan ähli aşaky setirleri tapyň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et