⊗jsSpREInr 96 of 294 menu

Úvod do regulárních výrazů v JavaScriptu

Regulární výrazy jsou příkazy pro složité vyhledávání a nahrazování (nebo prostě vyhledávání). Umožňují dělat velmi zajímavé věci, ale bohužel jsou poměrně těžké na osvojení.

Existuje několik metod JavaScriptu pro práci s regulárními výrazy. Začneme se s nimi seznamovat na příkladu replace - s touto metodou jste se již seznámili: jako první parametr přijímá, co má nahradit, a jako druhý - čím to má nahradit. A samotná metoda se aplikuje na řetězec, ve kterém se nahrazování provádí:

'bab'.replace('a', '!'); // vrátí 'b!b'

Jako první parametr této metody lze předat nejen prostý řetězec, ale také regulární výraz. Regulární výraz představuje sadu příkazů umístěných uvnitř lomítek /. Tato lomítka se nazývají ohraničovače regulárních výrazů.

Samotné regulární výrazy se skládají ze dvou typů znaků: z těch, které označují samy sebe, a ze znaků-příkazů, které se nazývají speciální znaky.

Písmena a číslice označují samy sebe. V následujícím příkladě pomocí regulárního výrazu nahradíme písmeno 'a' za !:

'bab'.replace(/a/, '!'); // vrátí 'b!b'

Například tečka je speciální znak a označuje libovolný znak. V následujícím příkladě najdeme řetězec podle tohoto vzoru: písmeno 'x', poté libovolný znak, poté znovu písmeno 'x':

'xax eee'.replace(/x.x/, '!'); // vrátí '! eee'

Za ohraničovači lze psát modifikátory - příkazy, které mění obecné vlastnosti regulárního výrazu. Například modifikátor g zapne režim globálního vyhledávání a nahrazování - bez něj regulární výraz hledá pouze první shodu, s ním - všechny shody.

V následujícím příkladě není uveden modifikátor g a regulární výraz najde pouze první shodu:

'aab'.replace(/a/, '!'); // vrátí '!ab'

A nyní regulární výraz najde všechny shody:

'aab'.replace(/a/g, '!'); // vrátí '!!b'

Je dán řetězec:

let str = 'ahb acb aeb aeeb adcb axeb';

Napište regulární výraz, který najde řetězce 'ahb', 'acb', 'aeb' podle vzoru: písmeno 'a', libovolný znak, písmeno 'b'.

Je dán řetězec:

let str = 'aba aca aea abba adca abea';

Napište regulární výraz, který najde řetězce 'abba', 'adca', 'abea' podle vzoru: písmeno 'a', 2 libovolné znaky, písmeno 'a'.

Je dán řetězec:

let str = 'aba aca aea abba adca abea';

Napište regulární výraz, který najde řetězce 'abba' a 'abea', a nezachytí 'adca'.

Č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