Zachycené skupiny v metodě match v regulárních výrazech JavaScript
Jak již víte, nalezený podřetězec pomocí metody match
se uloží do nulového prvku pole
s výsledkem. Do ostatních prvků tohoto
pole se ukládají takzvané zachycené skupiny (capturing groups).
Zachycené skupiny představují způsob, jak rozdělit nalezený výraz na samostatné části. Pro jejich použití je třeba část regulárního výrazu uzavřít do kulatých závorek. V tomto případě se v poli s výsledkem kromě nalezeného řetězce objeví také to, co odpovídá části regulárního výrazu v těchto závorkách.
Pojďme to vyzkoušet v praxi. Předpokládejme, že máme takový řetězec s časem:
let str = '12:34';
Pojďme umístit hodiny a minuty z tohoto času do samostatných skupin:
let res = str.match(/(\d+):(\d+)/);
Podívejme se na výsledek:
console.log(res[0]); // '12:34' - nalezený řetězec
console.log(res[1]); // '12' - 1. skupina
console.log(res[2]); // '34' - 2. skupina
Je dán řetězec obsahující doménu:
let str = 'sss domain.ru zzz';
Najděte tuto doménu a její název uložte do první skupiny a zónu do druhé.
Je dán řetězec obsahující datum:
let str = '31.12.2025';
Den uložte do první skupiny, měsíc do druhé a rok do třetí.