⊗jsSpREMl 114 of 294 menu

Víceřádkovost v regulárních výrazech JavaScriptu

Regulární výrazy při práci s víceřádkovými řetězci mají své zvláštnosti. Pojďme se s nimi seznámit na příkladu následujícího řetězce, obsahujícího obyčejné znaky, znaky pro nový řádek a tabelátory:

let str = `111 222 333 444`;

Nový řádek

Znaky pro nový řádek lze zachytit pomocí příkazu '\n':

let res = str.replace(/\n/g, '!');

Výsledkem bude do proměnné zapsáno následující (mezery mezi řádky jsou tabelátory):

`111! 222! 333! 444`;

Tabelátor

Znaky tabelátoru lze zachytit pomocí příkazu '\t':

let res = str.replace(/\t/g, '!');

Výsledkem bude do proměnné zapsáno následující:

` 111 !222 !333 !444 `;

Funkce tečky

Příkaz '.' pro víceřádkový řetězec nezachytává znaky pro nový řádek:

let res = str.replace(/./g, '!');

Výsledkem bude do proměnné zapsáno následující:

` !!! !!!! !!!! !!!! `;

Libovolný znak

Pro zachycení všech znaků ve víceřádkovém řetězci se používá chytrý trik ve formě kombinace [\s\S]. Tato konstrukce najde všechny obyčejné znaky a všechny znaky nového řádku:

let res = str.replace(/[\s\S]/g, '!');

Výsledkem bude do proměnné zapsáno následující:

`!!!!!!!!!!!!!!!!!!`;

Stříška

Pomocí modifikátoru 'm' lze zapnout víceřádkový režim. V tomto případě bude stříška zachytávat začátek každého řádku:

let res = str.replace(/^/gm, '!');

Výsledkem bude do proměnné zapsáno následující:

` !111 !222 !333 !444 `;

Dolar

Příkaz ' v víceřádkovém režimu bude zachytávat konec každého řádku:

let res = str.replace(/$/gm, '!');

Výsledkem bude do proměnné zapsáno následující:

` 111! 222! 333! 444! `;

Praktické úlohy

Je dán řetězec:

` abc def ghi jkl `;

Napište regulární výraz, který vytvoří z tohoto řetězce následující:

` abc! def! ghi! jkl! `;

Je dán řetězec:

` abc def ghi jkl `;

Napište regulární výraz, který vytvoří z tohoto řetězce následující:

` ! abc ! def ! ghi ! jkl `;

Je dán řetězec:

` abc def ghi jkl `;

Napište regulární výraz, který vytvoří z tohoto řetězce následující:

`! abc def ghi jkl !`;

Je dán řetězec:

` abc def ghi jkl `;

Napište regulární výraz, který vytvoří z tohoto řetězce následující:

`! ! abc ! def ! ghi ! jkl !`;

Je dán řetězec:

` abc def ghi jkl `;

Napište regulární výraz, který vytvoří z tohoto řetězce následující:

`! abc! def! ghi! jkl! !`;

Je dán řetězec:

` abc def ghi jkl `;

Napište regulární výraz, který vytvoří z tohoto řetězce následující:

` !abc !def !ghi !jkl `;
Č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