⊗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ščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј