Espressioni regolari e oggetto RegExp

Un'espressione regolare è un oggetto che descrive uno schema di caratteri.

Il JavaScript RegExp class rappresenta le espressioni regolari e sia String che RegExp definire metodi che utilizzano espressioni regolari per eseguire potenti funzioni di corrispondenza di modelli e di ricerca e sostituzione sul testo.

Sintassi

Un'espressione regolare potrebbe essere definita con RegExp () costruttore, come segue:

var pattern = new RegExp(pattern, attributes);
or simply
var pattern = /pattern/attributes;

Ecco la descrizione dei parametri:

  • pattern - Una stringa che specifica il modello dell'espressione regolare o un'altra espressione regolare.

  • attributes - Una stringa facoltativa contenente uno qualsiasi degli attributi "g", "i" e "m" che specificano rispettivamente corrispondenze globali, senza distinzione tra maiuscole e minuscole e su più righe.

Parentesi

Le parentesi ([]) hanno un significato speciale se usate nel contesto di espressioni regolari. Sono usati per trovare un intervallo di caratteri.

Sr.No. Espressione e descrizione
1

[...]

Qualsiasi carattere tra parentesi.

2

[^...]

Qualsiasi carattere non compreso tra parentesi.

3

[0-9]

Corrisponde a qualsiasi cifra decimale compresa tra 0 e 9.

4

[a-z]

Corrisponde a qualsiasi carattere dal minuscolo a in minuscolo z.

5

[A-Z]

Corrisponde a qualsiasi carattere da maiuscolo A attraverso le maiuscole Z.

6

[a-Z]

Corrisponde a qualsiasi carattere dal minuscolo a attraverso le maiuscole Z.

Gli intervalli mostrati sopra sono generali; puoi anche usare l'intervallo [0-3] per trovare qualsiasi cifra decimale compresa tra 0 e 3, o l'intervallo [bv] per trovare qualsiasi carattere minuscolo compreso trab attraverso v.

Quantificatori

La frequenza o la posizione delle sequenze di caratteri tra parentesi e dei singoli caratteri può essere indicata da un carattere speciale. Ogni carattere speciale ha una connotazione specifica. I flag +, *,? E $ seguono tutti una sequenza di caratteri.

Sr.No. Espressione e descrizione
1

p+

Corrisponde a qualsiasi stringa contenente una o più p.

2

p*

Corrisponde a qualsiasi stringa contenente zero o più p.

3

p?

Corrisponde a qualsiasi stringa contenente al massimo una p.

4

p{N}

Corrisponde a qualsiasi stringa contenente una sequenza di N p's

5

p{2,3}

Corrisponde a qualsiasi stringa contenente una sequenza di due o tre p.

6

p{2, }

Corrisponde a qualsiasi stringa contenente una sequenza di almeno due p.

7

p$

Corrisponde a qualsiasi stringa con p alla fine di essa.

8

^p

Corrisponde a qualsiasi stringa con p all'inizio di essa.

Esempi

I seguenti esempi spiegano di più sulla corrispondenza dei caratteri.

Sr.No. Espressione e descrizione
1

[^a-zA-Z]

Corrisponde a qualsiasi stringa che non contenga nessuno dei caratteri che vanno da a attraverso z e A attraverso Z.

2

p.p

Corrisponde a qualsiasi stringa contenente p, seguito da qualsiasi carattere, a sua volta seguito da un altro p.

3

^.{2}$

Corrisponde a qualsiasi stringa contenente esattamente due caratteri.

4

<b>(.*)</b>

Corrisponde a qualsiasi stringa racchiusa tra <b> e </b>.

5

p(hp)*

Corrisponde a qualsiasi stringa contenente un file p seguito da zero o più istanze della sequenza hp.

Personaggi letterali

Sr.No. Carattere e descrizione
1

Alphanumeric

Si

2

\0

Il carattere NUL (\ u0000)

3

\t

Tab (\ u0009

4

\n

Nuova riga (\ u000A)

5

\v

Tabulazione verticale (\ u000B)

6

\f

Avanzamento modulo (\ u000C)

7

\r

Ritorno a capo (\ u000D)

8

\xnn

Il carattere latino specificato dal numero esadecimale nn; ad esempio, \ x0A è uguale a \ n

9

\uxxxx

Il carattere Unicode specificato dal numero esadecimale xxxx; ad esempio, \ u0009 è uguale a \ t

10

\cX

Il carattere di controllo ^ X; ad esempio, \ cJ è equivalente al carattere di nuova riga \ n

Metacaratteri

Un metacarattere è semplicemente un carattere alfabetico preceduto da una barra rovesciata che agisce per dare alla combinazione un significato speciale.

Ad esempio, puoi cercare una grossa somma di denaro utilizzando il metacarattere "\ d": /([\d]+)000/, Qui \d cercherà qualsiasi stringa di caratteri numerici.

La tabella seguente elenca una serie di metacaratteri che possono essere utilizzati nelle espressioni regolari in stile PERL.

Sr.No. Carattere e descrizione
1

.

un singolo carattere

2

\s

un carattere di spazio bianco (spazio, tabulazione, nuova riga)

3

\S

carattere diverso da spazi

4

\d

una cifra (0-9)

5

\D

una non cifra

6

\w

un carattere alfanumerico (az, AZ, 0-9, _)

7

\W

un carattere non verbale

8

[\b]

un backspace letterale (caso speciale).

9

[aeiou]

corrisponde a un singolo carattere nel set dato

10

[^aeiou]

corrisponde a un singolo carattere al di fuori del set specificato

11

(foo|bar|baz)

corrisponde a una delle alternative specificate

Modificatori

Sono disponibili diversi modificatori che possono semplificare il modo in cui lavori regexps, come la distinzione tra maiuscole e minuscole, ricerca su più righe, ecc.

Sr.No. Modificatore e descrizione
1

i

Eseguire la corrispondenza senza distinzione tra maiuscole e minuscole.

2

m

Specifica che se la stringa ha caratteri di ritorno a capo o di ritorno a capo, gli operatori ^ e $ ora corrisponderanno a un limite di nuova riga, invece che a un limite di stringa

3

g

Esegue una corrispondenza globale, ovvero trova tutte le corrispondenze invece di fermarsi dopo la prima.

Proprietà RegExp

Di seguito è riportato un elenco delle proprietà associate a RegExp e la relativa descrizione.

Sr.No. Proprietà e descrizione
1 constructor

Specifies the function that creates an object's prototype.

2 global

Specifies if the "g" modifier is set.

3 ignoreCase

Specifies if the "i" modifier is set.

4 lastIndex

The index at which to start the next match.

5 multiline

Specifies if the "m" modifier is set.

6 source

The text of the pattern.

In the following sections, we will have a few examples to demonstrate the usage of RegExp properties.

RegExp Methods

Here is a list of the methods associated with RegExp along with their description.

Sr.No. Method & Description
1 exec()

Executes a search for a match in its string parameter.

2 test()

Tests for a match in its string parameter.

3 toSource()

Returns an object literal representing the specified object; you can use this value to create a new object.

4 toString()

Returns a string representing the specified object.

In the following sections, we will have a few examples to demonstrate the usage of RegExp methods.