Espressioni regolari JavaScript

Le espressioni regolari sono costituite da una sequenza di caratteri che formano un modello di ricerca.

Questa modalità di ricerca può essere utilizzata per operazioni di ricerca e sostituzione di testo.

Cos'è un'espressione regolare?

Le espressioni regolari sono costituite daModello di ricerca (search pattern)sequenza di caratteri.

Quando cerchi dati nel testo, puoi usare il modello di ricerca per descrivere ciò che cerchi.

Le espressioni regolari possono essere un singolo carattere o un modello più complesso.

Le espressioni regolari possono essere utilizzate per eseguire tutti i tipi diRicerca di testoeSostituzione di testoOperazione.

Sintassi

/modello/modificatori;

Esempio

var patt = /codew3c/i;

Esempio di spiegazione:

/codew3c/i È un'espressione regolare.

codew3c È il modello (pattern) (usato nella ricerca).

Modificatore Sono i modificatori (modifica la ricerca in caso-sensitive).

Usa il metodo della stringa

In JavaScript, l'espressione regolare viene utilizzata in dueMetodi di stringa:search() e Usare il metodo replace() della stringa per elaborare la stringa.

search() La funzione utilizza l'espressione per cercare corrispondenze e poi restituisce la posizione del match.

Usare il metodo replace() della stringa per elaborare la stringa La funzione restituisce la stringa modificata dopo la sostituzione del modello.

Usa la funzione search() della stringa per elaborare la stringa

search() La funzione accetta anche una stringa come parametro di ricerca. Il parametro di stringa viene convertito in un'espressione regolare:

Esempio

Esegui una ricerca su "W3school" utilizzando la stringa

var str = "Visit CodeW3C.com!";
var n = str.search("W3School"); 

Prova tu stesso

Usa l'espressione regolare nella funzione search() della stringa

Esempio

Esegui una ricerca case-insensibile di "codew3c" utilizzando l'espressione regolare nella stringa di ricerca:

var str = "Visit CodeW3C.com";
var str = "Visit CodeW3C.com"; 

var n = str.search(/codew3c/i);

Il risultato di n sarà:

Prova tu stesso

6

Usare il metodo replace() della stringa per elaborare la stringa replace()

Sostituisci Microsoft con W3school utilizzando un'espressione regolare non sensibile alle maiuscole e minuscole nella stringa:
Anche accetta una stringa come parametro di ricerca: 

Prova tu stesso

var res = str.replace("Microsoft", "W3School");

Esempio

Usare un'espressione regolare non sensibile alle maiuscole e minuscole per sostituire Microsoft con W3school nel metodo replace() della stringa

Sostituisci Microsoft con W3school utilizzando un'espressione regolare non sensibile alle maiuscole e minuscole nella stringa:
var str = "Visit Microsoft!"; 

var res = str.replace(/microsoft/i, "W3School");

Il risultato di res sarà:

Prova tu stesso

Visit CodeW3C.com!

Hai notato?

Parametro dell'espressione regolare (invece dei parametri di stringa) può essere utilizzato nei metodi sopra menzionati.

L'espressione regolare può rendere la tua ricerca più potente (ad esempio, senza distinzione tra maiuscole e minuscole).

Può essere utilizzato per una ricerca più globale insensibile alle maiuscole e minuscole:Modificatore di espressione regolare

Può essere utilizzato per una ricerca più globale insensibile alle maiuscole e minuscole: Descrizione Prova a farlo
Modificatore Esegue la corrispondenza insensibile alle maiuscole e minuscole. Prova a farlo
g Esegue la corrispondenza globale (cerca tutte le corrispondenze invece di fermarsi dopo la prima corrispondenza trovata). Prova a farlo
m Esegue la corrispondenza multipla di righe. Prova a farlo

Modello di espressione regolare

ParentesiUsata per trovare una gamma di stringhe:

Espressione Descrizione Prova a farlo
[abc] Trova qualsiasi carattere tra parentesi quadre. Prova a farlo
[0-9] Trova qualsiasi numero da 0 a 9. Prova a farlo
(x|y) Trova qualsiasi opzione separata da '|'. Prova a farlo

Carattere speciale (Metacharacter)Sono caratteri che hanno un significato speciale:

Carattere speciale Descrizione Prova a farlo
\d Trova i numeri. Prova a farlo
\s Trova i caratteri di spaziatura. Prova a farlo
\b Corrisponde al confine di parola. Prova a farlo
\uxxxx Trova il carattere Unicode specificato dal numero esadecimale xxxx. Prova a farlo

Quantifiers Definizione del quantificatore:

Quantificatore Descrizione Prova a farlo
n+ Corrisponde a qualsiasi stringa che contenga almeno una 'n'. Prova a farlo
n* Corrisponde a qualsiasi stringa che contenga zero o più 'n'. Prova a farlo
n? Corrisponde a qualsiasi stringa che contenga zero o una 'n'. Prova a farlo

Usare l'oggetto RegExp

In JavaScript, l'oggetto RegExp è un oggetto di espressione regolare con attributi e metodi predefiniti.

Usare test()

test() È un metodo di espressione regolare.

Ricerca una stringa attraverso uno schema e restituisce true o false in base ai risultati.

Il seguente esempio cerca il carattere "e" nella stringa:

Esempio

var patt = /e/;
patt.test("The best things in life are free!"); 

Poiché la stringa contiene un "e", l'output del codice sopra sarà:

true

Prova tu stesso

Non è necessario inserire il'espressione regolare in una variabile. Le due righe sopra possono essere abbreviate in una riga:

/e/.test("The best things in life are free!");

Usare exec()

exec() Un metodo è un metodo di espressione regolare.

Esso cerca la stringa specificata tramite un modello (pattern) e restituisce il testo trovato.

Se non viene trovata una corrispondenza, viene restituito null.

Il seguente esempio cerca il carattere "e" nella stringa:

Esempio

/e/.exec("The best things in life are free!");

Poiché la stringa contiene un "e", l'output del codice sopra sarà:

e

Prova tu stesso

Manuale di riferimento completo RegExp

Per il manuale di riferimento completo, visitare il nostro Manuale di riferimento RegExp JavaScript.

Questo manuale di riferimento contiene la descrizione e gli esempi di tutte le proprietà e metodi RegExp.