JavaScript/Espressioni regolari: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ramac (discussione | contributi)
proseguo
Ramac (discussione | contributi)
per ora così
Riga 13:
<source lang=javascript>
var myRegex = new RegExp ("testo della regex", "parametri");
var r = new RexExpRegExp ("Ciao *", "g");
</source>
Il primo parametro è l'espressione regolare vera e propria, mentre il secondo (opzionale) è una stringa combinando uno o più parametri espressi come lettere:
Riga 32:
! Carattere !! Abbina !! Esempio
|-
| <tt>\d</tt> || CifreUna cifra da 0 a 9 || <tt>\d\d\d</tt> abbina <tt>423</tt> ma non <tt>04</tt>
|-
| <tt>\D</tt> || Qualsiasi carattere escluso le cifre || <tt>\D</tt> abbina <tt>%</tt> o <tt>r</tt>, ma non <tt>3</tt>
Riga 46:
| <tt>.</tt> || Ogni carattere singolo || <tt>.</tt> abbina <tt>b</tt> e <tt>°</tt>
|-
| <tt>[...]</tt> || Qualsiasi carattere indicato tra le parentesi || <tt>[ciao]</tt> abbina <tt>c</tt> e <tt>o</tt>, ma non <tt>b</tt>; <tt>[0-9]</tt> equivale a <tt>\d</tt>, perché abbina ogni carattere tra 0 e 9 (ad esempio <tt>5</tt> ma non <tt>k</tt>)
|-
| <tt>[^...]</tt> || Qualsiasi carattere esclusi quelli indicati tra le parentesi || <tt>[^ciao]</tt> abbina <tt>b</tt> e <tt>q</tt>, ma non <tt>c</tt>; <tt>[^a-z]</tt> abbina ogni carattere che non è compreso tra la a e la z (ad esempio <tt>@</tt> ma non <tt>k</tt>)
Riga 125:
 
== Metodi ==
Le principale funzioni utilizzate insieme alle espressioni regolari sono le funzioni <code>split()</code>, <code>replace()</code>, <code>search()</code> e <code>match()</code> dell'oggetto String,. cheLa supportanomaggior comeparte parametrodi unesse sono state spiegate nel [[JavaScript/Oggetto String|modulo relativo]], ma l'espressioneuso delle regexp le arricchisce di regolaremolto.
 
=== split() ===
Il metodo <code>split()</code> divide la stringa in base a quanto indicato nel parametro e restituisce un array che contiene tutte le sottostringhe in cui è stato diviso. Supponiamo ad esempio di voler ottenere in un array le parole contenute in un testo, ad esempio per contarne il numero: dovremo quindi trovare un'espressione regolare che abbini ciascun i caratteri tra una parola e l'altra.
 
Per fare questo possiamo avvalerci del metacarattere <code>\W</code> che abbina ogni carattere non di parola. Dovremo tuttavia prevedere che ci siano più caratteri non stringa tra le parole (ad esempio <code>, </code>). Usiamo quindi <code>\W+</code>: <code>var parole = testo.split(/\W+/g);</code>.
 
=== replace() ===
Il metodo <code>replace ()</code> sostituisce il testo abbinato dalla regex indicata come primo parametro con il testo indicato nella seconda.
 
[[Categoria:JavaScript|Espressioni regolari]]