⊗ppPmRgChG 230 of 447 menu

Skupiny znakov v regulárnych výrazoch PHP

Existujú špeciálne príkazy, ktoré umožňujú vybrať naraz celé skupiny znakov. Príkaz \d znamená číslicu od 0 do 9. Príkaz \w označuje číslicu, latinské písmeno alebo znak podčiarknutia. Príkaz \s označuje medzeru alebo medzerový znak: medzera, koniec riadku, tabulátor. Môžeme invertovať hodnotu príkazu napísaním veľkého písmena: napríklad, ak \d je číslica, tak \D je nie číslica.

Príklad

Poďme nájsť všetky číslice:

<?php $str = '1 12 123'; $res = preg_replace('#\d#', '!', $str); ?>

Výsledkom do premennej sa zapíše nasledovné:

'! !! !!!'

Príklad

Operátory opakovania považujú príkazy-skupiny za jeden celok, to znamená, že zoskupujúce zátvorky nie sú potrebné. V nasledujúcom príklade vyhľadávací vzor vyzerá takto: číslica od 0 do 9 jeden alebo viac krát:

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\d+#', '!', $str); ?>

Výsledkom do premennej sa zapíše nasledovné:

'! ! ! abc @@@'

Príklad

V nasledujúcom príklade vyhľadávací vzor vyzerá takto: čokoľvek jeden alebo viac krát, ale nie číslica od 0 do 9:

<?php $str = '123abc3@@'; $res = preg_replace('#\D+#', '!', $str); ?>

Výsledkom do premennej sa zapíše nasledovné:

'123!3!'

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: medzerový znak jeden krát:

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\s#', '!', $str); ?>

Výsledkom do premennej sa zapíše nasledovné:

'1!12!123!abc!@@@'

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: NIE medzerový znak jeden alebo viac krát. Všetky podreťazce, oddelené medzerami, sa nahradia na '!':

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\S+#', '!', $str); ?>

Výsledkom do premennej sa zapíše nasledovné:

'! ! ! ! !'

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: číslica alebo písmeno jeden alebo viac krát. Všetky podreťazce, pozostávajúce z číslic a písmen, sa nahradia na '!':

<?php $str = '1 12 123a Abc @@@'; $res = preg_replace('#\w+#', '!', $str); ?>

Výsledkom do premennej sa zapíše nasledovné:

'! ! ! ! @@@'

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: NIE číslica a NIE písmeno jeden alebo viac krát. Pod túto definíciu v našom prípade spadá '@@@' a všetky medzery (tie sú tiež nie číslice a nie písmená). Dávajte pozor na to, že na konci je jedna '!' - do nej sa pretransformoval reťazec ' @@@' - s medzerou na začiatku:

$str = '1 12 123 Abc @@@'; $res = preg_replace('#\W+#', '!', $str);

Výsledkom do premennej sa zapíše nasledovné:

'1!12!123!Abc!'

Praktické úlohy

Daný reťazec:

<?php $str = 'a1a a2a a3a a4a a5a aba aca'; ?>

Napíšte regulárny výraz, ktorý nájde reťazce, v ktorých po okrajoch stoja písmená 'a', a medzi nimi jedna číslica.

Daný reťazec:

<?php $str = 'a1a a22a a333a a4444a a55555a aba aca'; ?>

Napíšte regulárny výraz, ktorý nájde reťazce, v ktorých po okrajoch stoja písmená 'a', a medzi nimi ľubovoľný počet číslic.

Daný reťazec:

<?php $str = 'aa a1a a22a a333a a4444a a55555a aba aca'; ?>

Napíšte regulárny výraz, ktorý nájde reťazce, v ktorých po okrajoch stoja písmená 'a', a medzi nimi ľubovoľný počet číslic (vrátane nuly číslic, teda reťazec 'aa').

Daný reťazec:

<?php $str = 'avb a1b a2b a3b a4b a5b abb acb'; ?>

Napíšte regulárny výraz, ktorý nájde reťazce nasledovného typu: po okrajoch stoja písmená 'a' a 'b', a medzi nimi - nie číslo.

Daný reťazec:

<?php $str = 'ave a#b a2b a$b a4b a5b a-b acb'; ?>

Napíšte regulárny výraz, ktorý nájde reťazce nasledovného typu: po okrajoch stoja písmená 'a' a 'b', a medzi nimi - nie písmeno a nie číslica.

Daný reťazec:

<?php $str = 'ave a#a a2a a$a a4a a5a a-a aca'; ?>

Napíšte regulárny výraz, ktorý nahradí všetky medzery na '!'.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť