JavaScript RegExp exec() metoden
- sidste side compile()
- Næste side test()
- Gå tilbage til niveauet over JavaScript RegExp Reference Manual
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);
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);
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 null
Her 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 null
Den 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 null
og 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() |
- sidste side compile()
- Næste side test()
- Gå tilbage til niveauet over JavaScript RegExp Reference Manual