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.