Gli ultimi tutorial di sviluppo web
 

JavaScript Espressioni regolari


Un'espressione regolare è una sequenza di caratteri che costituisce un modello di ricerca.

Il modello di ricerca può essere utilizzato per la ricerca di testo e il testo sostituire le operazioni.


Che cosa è una espressione regolare?

Un'espressione regolare è una sequenza di caratteri che costituisce un modello di ricerca.

Quando si cerca di dati in un testo, è possibile utilizzare questo modello di ricerca per descrivere ciò che si sta cercando.

Una espressione regolare può essere un singolo carattere, o un modello più complicato.

Le espressioni regolari possono essere utilizzati per eseguire tutti i tipi di ricerca di testo e del testo sostituire le operazioni.

Sintassi

/ pattern / modifiers ;

Esempio

var patt = /w3ii/i;

Esempio spiegato:

/w3ii/i è un'espressione regolare.

w3ii è un modello (da utilizzare in una ricerca).

i è un modificatore (modifica la ricerca di essere case-insensitive).


Usando i metodi String

In JavaScript, le espressioni regolari sono spesso utilizzati con i due metodi di stringa: search() e replace() .

La search() metodo utilizza un'espressione per la ricerca di una corrispondenza, e restituisce la posizione della partita.

Il replace() restituisce una stringa modificata in cui viene sostituito il modello.


Utilizzando String search() Con una Regular Expression

Esempio

Utilizzare un'espressione regolare per fare una ricerca case-insensitive per "w3ii" in una stringa:

var str = "Visit w3ii";
var n = str.search(/w3ii/i);

Il risultato n sarà:

6
Prova tu stesso "

Utilizzando String search() con stringa

Il metodo di ricerca sarà anche accettare una stringa come argomento di ricerca. L'argomento stringa sarà convertita in una espressione regolare:

Esempio

Utilizzare una stringa di fare una ricerca per "w3ii" in una stringa:

var str = "Visit w3ii!";
var n = str.search("w3ii");
Prova tu stesso "

Utilizzare String replace() con un'espressione regolare

Esempio

Utilizzare un case insensitive espressioni regolari per sostituire Microsoft con w3ii in una stringa:

var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "w3ii");

Il risultato in res sarà:

Visit w3ii!
Prova tu stesso "

Utilizzando String replace() con una stringa

Il replace() metodo anche accettare una stringa come argomento di ricerca:

var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "w3ii");
Prova tu stesso "

Hai notato?

argomenti espressioni regolari (invece di stringhe) possono essere utilizzati nei metodi di cui sopra.
Le espressioni regolari possono rendere la ricerca molto più potente (case insensitive per esempio).


Modificatori espressioni regolari

I modificatori possono essere utilizzati per eseguire ricerche più globali case-insensitive:

Modificatore Descrizione
i Eseguire corrispondenza case-insensitive
g Eseguire un incontro globale (trovate tutte le partite piuttosto che fermarsi dopo il primo match)
m Eseguire corrispondenza multilinea

Modelli di espressioni regolari

Staffe sono usati per trovare una serie di personaggi:

Espressione Descrizione
[abc] Trova uno qualsiasi dei caratteri tra le parentesi
[0-9] : Tutte le cifre tra parentesi
(x|y) Trova qualsiasi delle alternative separati da |

Metacaratteri sono caratteri con un significato speciale:

metacarattere Descrizione
\d Trovare una cifra
\s Trova uno spazio bianco
\b Trova una corrispondenza all'inizio o alla fine di una parola
\uxxxx Trova il carattere Unicode specificato dal numero esadecimale xxxx

Quantificatori definiscono le quantità:

Quantificatore Descrizione
n+ Corrisponde a qualsiasi stringa che contiene almeno un n
n* Corrisponde a qualsiasi stringa che contiene zero o più occorrenze di n
n? Corrisponde a qualsiasi stringa che contiene zero o una occorrenze di n

Utilizzo dell'oggetto RegExp

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


Utilizzando test()

Il test() è un metodo espressione RegExp.

Si cerca una stringa per un motivo, e restituisce vero o falso, a seconda del risultato.

L'esempio seguente cerca una stringa per il carattere "e" :

Esempio

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

Poiché non vi è una "e" nella stringa, l'output del codice qui sopra sarà:

true
Prova tu stesso "

Non è necessario mettere l'espressione regolare in una variabile prima. Le due linee sopra può essere ridotto a uno:

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

Utilizzando exec()

L' exec() metodo è un metodo di espressione RegExp.

Si cerca una stringa per un determinato modello, e restituisce il testo trovato.

Se non viene trovata alcuna corrispondenza, restituiscenull.

L'esempio seguente cerca una stringa per il carattere "e" :

esempio 1

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

Poiché non vi è una "e" nella stringa, l'output del codice qui sopra sarà:

e
Prova tu stesso "

Completare RegExp di riferimento

Per un riferimento completo, andare al nostro Complete JavaScript RegExp di riferimento .

Il riferimento contiene le descrizioni ed esempi di tutte le proprietà ei metodi RegExp.