⊗jsSpREME 124 of 294 menu

Metoda exec v regulárních výrazech JavaScript

Metoda exec provádí vyhledávání v řetězci. Výsledkem je nalezený podřetězec a jeho zachycené skupiny. Každé další volání této metody začne hledat od místa, ve kterém skončil předchozí nalezený podřetězec.

Podívejme se na příklad. Předpokládejme, že máme následující řetězec:

let str = '12 34 56';

Předpokládejme, že máme následující regulární výraz:

let reg = /\d+/g;

Pojďme postupně volat naši metodu pro náš řetězec:

let res1 = reg.exec(str); console.log(res1[0]); // 12 let res2 = reg.exec(str); console.log(res2[0]); // 34 let res3 = reg.exec(str); console.log(res3[0]); // 56

Po třech voláních, protože v našem řetězci již nejsou žádné shody s regulárním výrazem, vrátí další volání metody null:

let res4 = reg.exec(str); console.log(res4); // null

Tuto vlastnost metody je vhodné použít ve smyčce:

let str = '12 34 56'; let reg = /\d+/g; let res; while (res = reg.exec(str)) { console.log(res); // [12], [34], [56] }

Lze najít nejen shodu, ale také ji rozložit do zachycených skupin:

let str = '12 34 56'; let reg = /(\d)(\d)/g; let res; while (res = reg.exec(str)) { console.log(res); // [12, 1, 2], [34, 3, 4], [56, 5, 6] }

Je dán následující řetězec:

let str = '12:37:57 15:48:58 17:59:59';

Najděte v něm všechny podřetězce s časem a pro každý nalezený rozložte hodiny, minuty a sekundy do zachycených skupin.

Č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