⊗ppPmRgChG 230 of 447 menu

Skupiny znaků v regulárních výrazech PHP

Existují speciální příkazy, které umožňují vybrat najednou celé skupiny znaků. Příkaz \d znamená číslici od 0 do 9. Příkaz \w označuje číslici, latinské písmeno nebo znak podtržítka. Příkaz \s označuje mezeru nebo bílý znak: mezeru, konec řádku, tabulátor. Lze invertovat význam příkazu napsáním velkého písmene: například, pokud \d - číslice, tak \D - ne číslice.

Příklad

Pojďme najít všechny číslice:

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

Výsledek zapsaný do proměnné bude:

'! !! !!!'

Příklad

Operátory opakování považují příkazy-skupiny za jeden celek, to znamená, že seskupující závorky nejsou potřeba. V následujícím příkladu vypadá vzorek pro vyhledávání takto: číslice od 0 do 9 jedenkrát nebo vícekrát:

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

Výsledek zapsaný do proměnné bude:

'! ! ! abc @@@'

Příklad

V následujícím příkladu vypadá vzorek pro vyhledávání takto: cokoli jedenkrát nebo vícekrát, ale ne číslice od 0 do 9:

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

Výsledek zapsaný do proměnné bude:

'123!3!'

Příklad

V tomto příkladu vypadá vzorek pro vyhledávání takto: bílý znak jedenkrát:

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

Výsledek zapsaný do proměnné bude:

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

Příklad

V tomto příkladu vypadá vzorek pro vyhledávání takto: NE bílý znak jedenkrát nebo vícekrát. Všechny podřetězce, oddělené mezerami, budou nahrazeny na '!':

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

Výsledek zapsaný do proměnné bude:

'! ! ! ! !'

Příklad

V tomto příkladu vypadá vzorek pro vyhledávání takto: číslice nebo písmeno jedenkrát nebo vícekrát. Všechny podřetězce, skládající se z číslic a písmen, budou nahrazeny na '!':

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

Výsledek zapsaný do proměnné bude:

'! ! ! ! @@@'

Příklad

V tomto příkladu vypadá vzorek pro vyhledávání takto: NE číslice a NE písmeno jedenkrát nebo vícekrát. Pod tuto definici v našem případě spadá '@@@' a všechny mezery (ty jsou také ne číslice a ne písmena). Všimněte si toho, že na konci je jeden '!' - do něj se přeměnil řetězec ' @@@' - s mezerou na začátku:

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

Výsledek zapsaný do proměnné bude:

'1!12!123!Abc!'

Praktické úlohy

Daný řetězec:

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

Napište regulární výraz, který najde řetězce, ve kterých po okrajích stojí písmena 'a', a mezi nimi jedna číslice.

Daný řetězec:

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

Napište regulární výraz, který najde řetězce, ve kterých po okrajích stojí písmena 'a', a mezi nimi libovolný počet číslic.

Daný řetězec:

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

Napište regulární výraz, který najde řetězce, ve kterých po okrajích stojí písmena 'a', a mezi nimi libovolný počet číslic (včetně nuly číslic, tedy řetězec 'aa').

Daný řetězec:

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

Napište regulární výraz, který najde řetězce následujícího typu: po okrajích stojí písmena 'a' a 'b', a mezi nimi - ne číslo.

Daný řetězec:

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

Napište regulární výraz, který najde řetězce následujícího typu: po okrajích stojí písmena 'a' a 'b', a mezi nimi - ne písmeno a ne číslice.

Daný řetězec:

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

Napište regulární výraz, který nahradí všechny mezery na '!'.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout