Metoden exec
Metoden exec utför sökning i
en sträng med ett givet reguljärt uttryck. Resultatet är den hittade
delen av strängen och dess fångstgrupper. Varje
efterföljande anrop av denna metod
kommer att börja sökningen från den plats
där den föregående
hittade delsträngen slutade. Om ingen matchning
hittas returneras null.
Syntax
reguljärt_uttryck.test(sträng);
Exempel
Låt oss testa metoden:
let str = '12 34 56';
let reg = /\d+/g;
let res1 = reg.exec(str);
console.log(res1);
let res2 = reg.exec(str);
console.log(res2);
let res3 = reg.exec(str);
console.log(res3);
let res4 = reg.exec(str);
console.log(res4);
Resultat av kodkörning:
[12]
[34]
[56]
null
Exempel
Låt oss använda metoden i en loop:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Resultat av kodkörning:
[12]
[34]
[56]
Exempel
De hittade matchningarna kan delas upp i fångstgrupper:
let str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Resultat av kodkörning:
[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Exempel
Med egenskapen lastIndex
kan man ange positionen från vilken
sökningen ska börja:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res1 = reg.exec(str)
console.log(res1);
let res2 = reg.exec(str)
console.log(res2);
Resultat av kodkörning:
[34]
[56]
Exempel
Med modifieraren y
kan man låsa fast startpositionen
för sökningen:
let str = '12 34 56';
let reg = /\d+/y;
reg.lastIndex = 2;
let res1 = reg.exec(str)
console.log(res1);
let res2 = reg.exec(str)
console.log(res2);
Resultat av kodkörning:
null
[12]