JavaScript RegExp exec() metoden

Definition og brug

exec() Metoden tester matchende elementer i strengen.

Denne metode er en generel matchningsmønstermetode.

Returnerer resultatarrayen, hvis der findes en match, ellers returneres null.

Eksempel

Eksempel 1

Søg efter tegnet "e" i strengen:

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

Prøv det selv

Eksempel 2

Global søgning efter "Hello" og "W3School" i strengen:

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

Prøv det selv

syntaks

regexp.exec(sæt attributten lastIndex til den karakter, der er angivet af attributten lastIndex, og begynde at søge efter strengen)

Parameter

Parameter beskrivelse
sæt attributten lastIndex til den karakter, der er angivet af attributten lastIndex, og begynde at søge efter strengen obligatorisk. Strengen, der skal søges i.

returneringsværdi

type beskrivelse
Array Hvis der findes en match, indeholder arrayet teksten der matcher, ellers returneres null.

tekniske detaljer

returneringsværdi

Array, der indeholder matchende resultater. Hvis der ikke findes nogen match, er værdien nullHer er en beskrivelse af formatet for den returnerede array.

kaster

type beskrivelse
TypeError kaster denne undtagelse, hvis objektet der kalder denne metode ikke er et RegExp.

beskrivelse

i alle RegExp mønsters matchningsmetoder, String mønsters matchningsmetoderexec() har de mest kraftfulde funktioner. Det er en generel metode, der er lettere at bruge end RegExp.test()ogString.replace() og String.match() er meget komplekse.

exec() søger efter strengen sæt attributten lastIndex til den karakter, der er angivet af attributten lastIndex, og begynde at søge efter strengenfår vi med sig teksten der matcher regulært udtrykket regexp matchende tekst. Hvis exec() Fundet matchende tekst, den vil returnere en resultatarray. Ellers returneres nullDen første element i denne returarrayen er teksten der matcher udtrykket. Den første element er regexp s anden underudtryk, der matcher teksten (hvis den findes).} regexp s første underudtryk, der matcher teksten (hvis den findes). Anden element erexec() s anden underudtryk, der matcher teksten, osv. Normalt er egenskaben length af arrayet erklæringen af antallet af elementer i arrayet. Udover arrayelementer og length-egenskaben sæt attributten lastIndex til den karakter, der er angivet af attributten lastIndex, og begynde at søge efter strengenreturnerer også to egenskaber. Egenskaben index erklærer positionen af det første tegn i matchende tekst. Egenskaben input refererer til exec() metode, returnerer arrayet med samme metode String.match() metode, returnerer arrayet med samme metode

metode, returnerede metoden exec() i en ikke-global regulær udtryks regexp metode vil udføre søgning og returnere de ovennævnte resultater. Dog nårexec() er en global regulær udtryk regexp adfærd er lidt mere kompleks. Det gør, at det sæt attributten lastIndex til den karakter, der er angivet af attributten lastIndex, og begynde at søge efter strengen string regexp sæt lastIndex-attributten til matchets første tegns position. Dette betyder, at det er muligt at gentagne gange kalde exec() metode til at gennemgå alle matchende tekster i strengen. Når exec() ikke længere kan finde matchende tekst, returnerer den nullog sæt attributten lastIndex tilbage til 0. Hvis der efter en mønstermatchning i en anden streng skal begynde at søge efter en ny streng, skal lastIndex-attributten manuelt sættes tilbage til 0.

bemærk, uanset regexp om det er en global modeexec() tilføjer fulde detaljer til det array, de returnerer. Dette er exec() og String.match() adskillige forskelle, hvor den sidste i global mode returnerer meget mindre information. Faktisk, ved gentagne gange at kalde exec() metoden er det eneste, der kan få fuld mønster matchingsinformation for global mønster.

browserunderstøttelse

exec() er en ECMAScript1 (ES1) egenskab.

Alle browsere understøtter fuldt ES1 (JavaScript 1997):

Chrome IE Edge Firefox Safari Opera
understøtter understøtter understøtter understøtter understøtter understøtter

Regulære udtryks søgemetoder

I JavaScript kan regulære udtryks tekst søgning udføres med forskellige metoder.

brugMønster (pattern)Som regulære udtryk er disse de mest almindelige metoder:

eksempel beskrivelse
text.match(mønster) strengmetoden match()
text.search(mønster) strengmetoden search()
mønster.exec(text) RexExp-metoden exec()
mønster.test(text) RexExp-metoden test()