Lommer i match-metoden i JavaScript regulære udtryk
Som du allerede ved, kommer den fundne understreng via metoden match
ind i det nulte element af arrayet
med resultatet. I de andre elementer af dette
array kommer de såkaldte lommer.
Lommer er en måde at opdele det fundne på separate dele. For at bruge dem skal du indsætte en del af det regulære udtryk i runde parenteser. I dette tilfælde vil arrayet med resultatet udover den fundne streng også indeholde det, der passede til det regulære udtryk, der står i disse parenteser.
Lad os prøve det i praksis. Lad os sige, at vi har en streng med et klokkeslæt:
let str = '12:34';
Lad os putte timer og minutter fra dette klokkeslæt i separate lommer:
let res = str.match(/(\d+):(\d+)/);
Lad os se på resultatet:
console.log(res[0]); // '12:34' - det fundne
console.log(res[1]); // '12' - 1. lomme
console.log(res[2]); // '34' - 2. lomme
Der gives en streng, der indeholder et domæne:
let str = 'sss domain.ru zzz';
Find dette domæne og læg dets navn i den første lomme, og zonen - i den anden.
Der gives en streng, der indeholder en dato:
let str = '31.12.2025';
Læg dagen i den første lomme, måneden - i den anden, og året - i den tredje.