JavaScript RegExp exec() method
- Vorige pagina compile()
- Next page test()
- Go back one level JavaScript RegExp Referentie Handboek
Definitie en gebruik
exec()
Deze methode test de overeenkomsten in de string.
Deze methode is een algemene matchpatroonmethode.
Als er een overeenkomst wordt gevonden, wordt een resultaatarray geretourneerd, anders wordt null
.
Voorbeeld
Voorbeeld 1
Zoek het teken "e" in de string:
let text = "The best things in life are free"; let result = /e/.exec(text);
Voorbeeld 2
Zoek "Hello" en "W3School" in de string globaal:
let text = "Hello world!"; // Zoek "Hello" let result1 = /Hello/.exec(text); // Zoek "W3School" let result2 = /W3School/.exec(text);
Syntax
regexp.exec(van de eigenschap lastIndex aangegeven character te beginnen met het zoeken van de string. Dit betekent dat je)
Parameter
Parameter | beschrijving |
---|---|
van de eigenschap lastIndex aangegeven character te beginnen met het zoeken van de string. Dit betekent dat je | Verplicht. De te doorzoeken string. |
Retourwaarde
Type | beschrijving |
---|---|
Array | Als er een overeenkomst wordt gevonden, bevat de array de tekst die overeenkomt, anders wordt null geretourneerd. |
Technische details
Retourwaarde
Array, die de resultaten opslaat. Als er geen overeenkomst wordt gevonden, is de waarde null
Hier wordt de indeling van de geretourneerde array besproken.
wordt gegooid.
Type | beschrijving |
---|---|
TypeError | Wanneer het object dat de methode aanroept geen RegExp is, wordt deze uitzondering gegooid. |
Uitleg
in alle RegExp-patroonmatchmethoden en String-patroonmatchmethodenexec()
is de meest krachtige functie. Het is een algemene methode die gemakkelijker te gebruiken is dan RegExp.test()enString.replace() en String.match() ze zijn allemaal complex.
exec()
Deze string wordt doorzocht van de eigenschap lastIndex aangegeven character te beginnen met het zoeken van de string. Dit betekent dat jeDaaruit krijgen we de tekst die overeenkomt met de reguliere expressie regexp De tekst die overeenkomt. exec()
De tekst die overeenkomt is gevonden, dan wordt een resultaatarray geretourneerd. Anders, wordt geretourneerd null
De 0e element van de retourarray is de tekst die overeenkomt met de expressie. De 1e element is de tekst die overeenkomt met regexp de eerste subexpressie die overeenkomt met de tekst (indien aanwezig). De tweede element is de tekst die overeenkomt met de regexp de tweede subexpressie die overeenkomt met de tekst, enzovoort. Meestal声明t de eigenschap length van het array het aantal elementen in het array. Naast de arrayelementen en de eigenschap length,exec()
retourneert twee eigenschappen. De eigenschap index声明t de positie van het eerste character van het overeenkomende tekst. De eigenschap input verwijst naar van de eigenschap lastIndex aangegeven character te beginnen met het zoeken van de string. Dit betekent dat jemethode. exec()
methode, retourneert het een array die overeenkomt met de String.match() retourneert dezelfde methoden.
wordt aangeroepen voor een niet-globale modus exec()
methode, het voert een zoekopdracht uit en retourneert de hierboven genoemde resultaten. Echter, wanneer regexp wanneer het een globale reguliere expressie isexec()
gedrag is iets complexer. Het zoekt regexp van de eigenschap lastIndex aangegeven character te beginnen met het zoeken van de string van de eigenschap lastIndex aangegeven character te beginnen met het zoeken van de string. Dit betekent dat je string regexp de eigenschap lastIndex van exec()
methode om alle overeenkomende teksten in de string te doorzoeken. Wanneer exec() geen overeenkomende tekst meer vindt, retourneert het null
en de eigenschap lastIndex wordt teruggezet naar 0. Als na het voltooien van een patroonmatch in een andere string moet beginnen met zoeken, moet de eigenschap lastIndex handmatig worden teruggezet naar 0.
Let op, ongeacht regexp of het een globale modus isexec()
voegen volledige details toe aan het door hen geretourneerde array. Dit is exec()
en String.match() het verschil, de laatstgenoemde geeft minder informatie terug in globale modus. Feitelijk wordt exec()
De methode is het enige dat volledige matchinformatie van de globale patroon kan verkrijgen.
Browserondersteuning
exec()
is een ECMAScript1 (ES1) kenmerk.
Alle browsers ondersteunen ES1 (JavaScript 1997):
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Ondersteund | Ondersteund | Ondersteund | Ondersteund | Ondersteund | Ondersteund |
Reguliere expressie zoekmethoden
In JavaScript kunnen reguliere expressies tekstzoeken worden uitgevoerd met verschillende methoden.
GebruikPatroon (pattern)Als reguliere expressie zijn dit de meest gebruikte methoden:
voorbeeld | beschrijving |
---|---|
text.match(patroon) | tekstmethode match() |
text.search(patroon) | tekstmethode search() |
patroon.exec(text) | RexExp-methode exec() |
patroon.test(text) | RexExp-methode test() |
- Vorige pagina compile()
- Next page test()
- Go back one level JavaScript RegExp Referentie Handboek