Metodo exec() dell'RegExp JavaScript
- Pagina precedente compile()
- Pagina successiva test()
- Torna al livello superiore Manuale di Referenza RegExp JavaScript
Definizione e uso
exec()
Il metodo testa i corrispondenti nella stringa.
Questo metodo è un modello di match universale.
Se viene trovato un corrispondente, viene restituito l'array dei risultati, altrimenti viene restituito null
.
Esempio
Esempio 1
Cerca il carattere "e" nella stringa:
let text = "The best things in life are free"; let result = /e/.exec(text);
Esempio 2
Cerca "Hello" e "W3School" in modo globale nella stringa:
let text = "Hello world!"; // Cerca "Hello" let result1 = /Hello/.exec(text); // Cerca "W3School" let result2 = /W3School/.exec(text);
Sintassi
regexp.exec(dalla posizione del carattere specificato dall'attributo lastIndex della proprietà)
Parametro
Parametro | Descrizione |
---|---|
dalla posizione del carattere specificato dall'attributo lastIndex della proprietà | Obbligatorio. La stringa da cercare. |
Valore di ritorno
Tipo | Descrizione |
---|---|
Array | Se viene trovata una corrispondenza, l'array contiene il testo corrispondente, altrimenti viene restituito null. |
Dettagli tecnici
Valore di ritorno
Array, che contiene i risultati della corrispondenza. Se non viene trovata alcuna corrispondenza, il valore è null
. Di seguito è descritta la struttura dell'array di ritorno.
lancia
Tipo | Descrizione |
---|---|
TypeError | L'oggetto che chiama questo metodo non è RegExp, viene lanciata questa eccezione. |
Spiegazione
in tutti i metodi di match RegExp e String pattern match method,exec()
è la funzione più potente. È un metodo universale, più facile da usare rispetto a RegExp.test(),String.replace() e String.match() è complesso.
exec()
cercherà la stringa dalla posizione del carattere specificato dall'attributo lastIndex della proprietà, da cui ottenere il pattern regolare regexp testo corrispondente. Se exec()
Trovato il testo corrispondente, verrà restituito un array di risultati. Altrimenti, viene restituito null
Questo è l'elemento 0 dell'array di ritorno che corrisponde al testo dell'espressione. Il primo elemento è il testo che corrisponde a regexp il testo che corrisponde al primo sottoespressione (se esiste). Il secondo elemento è il testo che corrisponde alla regexp del primo sottoespressione che corrisponde (se esiste). Il secondo elemento è il testo che corrisponde allaexec()
del secondo sottoespressione che corrisponde, ecc. Di solito, l'attributo length dell'array dichiara il numero di elementi dell'array. Oltre agli elementi dell'array e all'attributo length, dalla posizione del carattere specificato dall'attributo lastIndex della proprietàrestituisce anche due proprietà. L'attributo index dichiara la posizione del primo carattere del testo di corrispondenza. L'attributo input indica exec()
. Inoltre, quando chiama l'oggetto RegExp non globale String.match() metodo, l'array restituito è lo stesso del metodo chiamato
i metodi restituiti sono gli stessi. exec()
chiama un metodo di modello non globale regexp metodo, esegue la ricerca e restituisce i risultati menzionati. Tuttavia, quandoexec()
è un'espressione regolare globale regexp comportamento è un po' più complesso. Quando dalla posizione del carattere specificato dall'attributo lastIndex della proprietà string regexp impostare l'attributo lastIndex della proprietà exec()
Metodo per esplorare tutti i testi di corrispondenza nella stringa. Quando exec() non può trovare più testi di corrispondenza, restituirà null
e resetta l'attributo lastIndex a 0. Se si desidera iniziare a cercare un nuovo stringa dopo aver completato una corrispondenza di modello in un'altra stringa, è necessario manualmente reimpostare l'attributo lastIndex a 0.
Attenzione, indipendentemente regexp se è in modalità globaleexec()
aggiunge tutti i dettagli al array restituito. Questo è exec()
e String.match() differisce, poiché l'ultimo restituisce molto meno informazioni in modalità globale. Infatti, chiamare ripetutamente exec()
Il metodo è l'unico modo per ottenere tutte le informazioni di corrispondenza del modello globale.
Supporto del browser
exec()
È una caratteristica ECMAScript1 (ES1).
Tutti i browser supportano completamente ES1 (JavaScript 1997):
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Supporta | Supporta | Supporta | Supporta | Supporta | Supporta |
Metodi di ricerca con espressioni regolari
In JavaScript, la ricerca di testo con espressioni regolari può essere completata con diversi metodi.
UsoModello (pattern)Come espressione regolare, questi sono i metodi più comuni:
Esempio | Descrizione |
---|---|
text.match(Modello) | Metodo match() della stringa |
text.search(Modello) | Metodo search() della stringa |
Modello.exec(text) | Metodo RexExp exec() |
Modello.test(text) | Metodo RexExp test() |
- Pagina precedente compile()
- Pagina successiva test()
- Torna al livello superiore Manuale di Referenza RegExp JavaScript