JavaScript RegExp exec() metoden

Definition och användning

exec() Metoden testar matchande element i strängen.

Denna metod är en allmän matchningsmodell.

Om en match hittas, returneras resultatarrayen, annars returneras null.

Exempel

Exempel 1

Sök tecken "e" i strängen:

let text = "The best things in life are free";
let result = /e/.exec(text);

Prova själv

Exempel 2

Sök globalt "Hello" och "W3School" i strängen:

let text = "Hello world!";
// Sök "Hello"
let result1 = /Hello/.exec(text);
// Sök "W3School"
let result2 = /W3School/.exec(text);

Prova själv

Syntax

regexp.exec(s egenskap lastIndex för att börja söka från den position som anger)

Parameter

Parameter beskrivning
s egenskap lastIndex för att börja söka från den position som anger Obligatorisk. Strängen som ska sökas efter.

Returvärde

Typ beskrivning
Array Om en match hittas, innehåller arrayen matchande text, annars returneras null.

Tekniska detaljer

Returvärde

Array, som innehåller matchningsresultaten. Om ingen match hittas, är värdet nullNedan beskrivs formatet för den returnerade arrayen.

kastas.

Typ beskrivning
TypeError Om objektet som anropar denna metod inte är ett RegExp, kastas detta undantag.

Förklaring

i alla RegExp-mönstermatchningsmetoder, String-mönstermatchningsmetoderexec() har de mest kraftfulla funktionerna. Det är en allmän metod som är enklare att använda än RegExp.test()String.replace() och String.match() alla är komplexa.

exec() söker efter strängen s egenskap lastIndex för att börja söka från den position som anger,får man med hjälp av reguljära uttryck regexp matchande text. Om exec() Hittade matchande text, den kommer att returnera ett resultatarray. Annars returneras nullDenna returarrayns 0: a element är den text som matchar uttrycket. Det 1: a element är det som matchar regexp s andra underuttryck (om det finns). Ofta anger arrayens length-egenskap antalet element i arrayen. Utöver arrayelement och length-egenskapen regexp s första underuttryck som matchar texten (om det finns). Den andra elementet är det text som matcharexec() s andra underuttryck som matchar texten, och så vidare. Vanligtvis anger egenskapen length antalet element i arrayen. Förutom arrayelement och length-egenskapen s egenskap lastIndex för att börja söka från den position som angeråterger också två egenskaper. Egenskapen index anger positionen för den första tecknet i matchande texten. Egenskapen input refererar till exec() metoden. String.match() metoden returneras en array som är likadan som den som anropas av

metoden returneras samma metod. exec() anropas för att söka i en icke-global regexp metoden, den kommer att utföra sökningen och returnera de ovan nämnda resultaten. Men närexec() är en global reguljär uttryck när regexp s beteende är något mer komplext. Det söker s egenskap lastIndex för att börja söka från den position som anger string regexp s lastIndex-egenskap sätts till den första positionen av matchande texten. Detta innebär att du kan upprepa exec() metoden för att iterera över alla matchande texter i strängen. När exec() inte kan hitta fler matchande texter returnerar den nulloch återställer egenskapen lastIndex till 0. Om du vill börja söka i en annan sträng efter att ha slutfört ett mönstermatchning i en annan sträng måste du manuellt återställa lastIndex-egenskapen till 0.

Observera att oavsett regexp om det är globalt lägeexec() lägger till fullständiga detaljer i den array som returneras. Detta är exec() och String.match() skillnaden är att den senare returnerar mycket mindre information i globalt läge. Faktiskt, genom att upprepa exec() metoden är det enda sättet att få fullständig matchningsinformation för globala mönster.

webbläsarstöd

exec() är en ECMAScript1 (ES1) egenskap.

Alla webbläsare stöder fullt ut ES1 (JavaScript 1997):

Chrome IE Edge Firefox Safari Opera
stödjer stödjer stödjer stödjer stödjer stödjer

Reguljära uttryckssökning metoder

I JavaScript kan reguljära uttryck användas för text sökning med olika metoder.

användningMönster (pattern)Som reguljära uttryck är dessa de mest använda metoderna:

exempel beskrivning
text.match(mönster) strängmetoden match()
text.search(mönster) strängmetoden search()
mönster.exec(text) RexExp-metoden exec()
mönster.test(text) RexExp-metoden test()