| Pacchetto | Primo livello |
| Classe | public dynamic class RegExp |
| Ereditarietà | RegExp Object |
| Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Potete creare un nuovo oggetto RegExp utilizzando la funzione di costruzione new RegExp() o assegnando un carattere letterale RegExp a una variabile:
var pattern1:RegExp = new RegExp("test-\\d", "i");
var pattern2:RegExp = /test-\d/i;
Per ulteriori informazioni, vedete "Uso delle espressioni regolari" nella Guida per gli sviluppatori di ActionScript 3.0.
Altri esempi
Elementi API correlati
| Proprietà | Definito da | ||
|---|---|---|---|
![]() | constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | |
| dotall : Boolean [sola lettura]
Specifica se il punto (.) in un modello di un'espressione regolare corrisponde ai caratteri di nuova riga. | RegExp | ||
| extended : Boolean [sola lettura]
Specifica se utilizzare la modalità estesa per l'espressione regolare. | RegExp | ||
| global : Boolean [sola lettura]
Specifica se utilizzare la corrispondenza globale per l'espressione regolare. | RegExp | ||
| ignoreCase : Boolean [sola lettura]
Specifica se l'espressione regolare ignora la distinzione tra maiuscole e minuscole. | RegExp | ||
| lastIndex : Number
Specifica la posizione di indice nella stringa in corrispondenza della quale cominciare la ricerca successiva. | RegExp | ||
| multiline : Boolean [sola lettura]
Specifica se il flag m (multiline) è impostato. | RegExp | ||
| source : String [sola lettura]
Specifica la porzione del modello dell'espressione regolare. | RegExp | ||
| Metodo | Definito da | ||
|---|---|---|---|
Consente di creare un'espressione regolare da due stringhe. | RegExp | ||
Esegue una ricerca dell'espressione regolare nella stringa str data. | RegExp | ||
![]() |
Indica se per un oggetto è definita una proprietà specifica. | Object | |
![]() |
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | |
![]() |
Indica se la proprietà specificata esiste ed è enumerabile. | Object | |
![]() |
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | |
Prova la corrispondenza dell'espressione regolare nella stringa str data. | RegExp | ||
![]() |
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | |
![]() |
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | |
![]() |
Restituisce il valore di base dell'oggetto specificato. | Object | |
dotall | proprietà |
dotall:Boolean [sola lettura] | Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Specifica se il punto (.) in un modello di un'espressione regolare corrisponde ai caratteri di nuova riga. Utilizzate il flag s quando create un'espressione regolare per impostare dotall = true.
Implementazione
public function get dotall():BooleanAltri esempi
Esempio ( Come utilizzare questo esempio )
s (dotall) in un'espressione regolare:
var str:String = "<p>Hello\n"
+ "again</p>"
+ "<p>Hello</p>";
var pattern:RegExp = /<p>.*?<\/p>/;
trace(pattern.dotall) // false
trace(pattern.exec(str)); // <p>Hello</p>
pattern = /<p>.*?<\/p>/s;
trace(pattern.dotall) // true
trace(pattern.exec(str));
extended | proprietà |
extended:Boolean [sola lettura] | Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Specifica se utilizzare la modalità estesa per l'espressione regolare. Quando un oggetto RegExp è in modalità estesa, i caratteri di spazio nella stringa della funzione di costruzione vengono ignorati per consentire l'utilizzo di funzioni di costruzione più leggibili.
Utilizzate il flag x quando si crea un'espressione regolare per impostare extended = true.
Implementazione
public function get extended():BooleanAltri esempi
Esempio ( Come utilizzare questo esempio )
x in modo che gli spazi vuoti nella stringa vengano ignorati.
var rePhonePattern1:RegExp = /\d{3}-\d{3}-\d{4}|\(\d{3}\)\s?\d{3}-\d{4}/;
var str:String = "The phone number is (415)555-1212.";
trace(rePhonePattern1.extended) // false
trace(rePhonePattern1.exec(str)); // (415)555-1212
var rePhonePattern2:RegExp = / \d{3}-\d{3}-\d{4} | \( \d{3} \) \ ? \d{3}-\d{4} /x;
trace(rePhonePattern2.extended) // true
trace(rePhonePattern2.exec(str)); // (415)555-1212
global | proprietà |
global:Boolean [sola lettura] | Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Specifica se utilizzare la corrispondenza globale per l'espressione regolare. Se global == true, la proprietà lastIndex viene impostata dopo che viene trovata una corrispondenza. Alla successiva richiesta di una corrispondenza, il motore dell'espressione regolare comincia dalla posizione lastIndex nella stringa. Utilizzate il flag g quando si crea un'espressione regolare per impostare global su true.
Implementazione
public function get global():BooleanAltri esempi
Esempio ( Come utilizzare questo esempio )
g (global) sul metodo exec():
var pattern:RegExp = /foo\d/; var str:String = "foo1 foo2"; trace(pattern.global); // false trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 0 trace(pattern.exec(str)); // foo1 pattern = /foo\d/g; trace(pattern.global); // true trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 4 trace(pattern.exec(str)); // foo2
ignoreCase | proprietà |
ignoreCase:Boolean [sola lettura] | Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9 |
Specifica se l'espressione regolare ignora la distinzione tra maiuscole e minuscole. Utilizzate il flag i quando si crea un'espressione regolare per impostare ignoreCase = true.
Implementazione
public function get ignoreCase():BooleanAltri esempi
Esempio ( Come utilizzare questo esempio )
i (ignoreCase):
var pattern:RegExp = /bob/; var str:String = "Bob bob"; trace(pattern.ignoreCase); // false trace(pattern.exec(str)); // bob pattern = /bob/i; trace(pattern.ignoreCase); // true trace(pattern.exec(str)); // Bob
lastIndex | proprietà |
lastIndex:Number| Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Specifica la posizione di indice nella stringa in corrispondenza della quale cominciare la ricerca successiva. Questa proprietà influisce sui metodi exec() e test() della classe RegExp. Tuttavia, i metodi match(), replace() e search() della classe String ignorano la proprietà lastIndex e cominciano tutte le ricerche dall'inizio della stringa.
Quando il metodo exec() o test() trova una corrispondenza e il flag g (global) è impostato su true per l'espressione regolare, il metodo imposta automaticamente la proprietà lastIndex sulla posizione di indice del carattere dopo l'ultimo carattere nella sottostringa corrispondente dell'ultima corrispondenza. Se il flag g (global) è impostato su false, il metodo non imposta la proprietà lastIndex.
Potete impostare la proprietà lastIndex per regolare la posizione iniziale nella stringa per la corrispondenza dell'espressione regolare.
Implementazione
public function get lastIndex():Number public function set lastIndex(value:Number):voidAltri esempi
Esempio ( Come utilizzare questo esempio )
lastIndex e come questa viene aggiornata dopo una chiamata al metodo exec() in un'espressione regolare nella quale viene impostato il flag g (global):
var pattern:RegExp = /\w\d/g; var str:String = "a1 b2 c3 d4"; pattern.lastIndex = 2; trace(pattern.exec(str)); // b2 trace(pattern.lastIndex); // 5 trace(pattern.exec(str)); // c3 trace(pattern.lastIndex); // 8 trace(pattern.exec(str)); // d4 trace(pattern.lastIndex); // 11 trace(pattern.exec(str)); // null
multiline | proprietà |
multiline:Boolean [sola lettura] | Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Specifica se il flag m (multiline) è impostato. Se è impostato, l'accento circonflesso (^) e il simbolo del dollaro ($) in un'espressione regolare corrispondono prima e dopo le nuove righe. Utilizzate il flag m quando si crea un'espressione regolare per impostare multiline = true.
Implementazione
public function get multiline():BooleanAltri esempi
Esempio ( Come utilizzare questo esempio )
m (multiline):
var pattern:RegExp = /^bob/;
var str:String = "foo\n"
+ "bob";
trace(pattern.multiline); // false
trace(pattern.exec(str)); // null
pattern = /^bob/m;
trace(pattern.multiline); // true
trace(pattern.exec(str)); // bob
source | proprietà |
source:String [sola lettura] | Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Specifica la porzione del modello dell'espressione regolare.
Implementazione
public function get source():StringAltri esempi
Esempio ( Come utilizzare questo esempio )
source per due espressioni regolari:
var re1:RegExp = /aabb/gi;
trace (re1.source); // aabb
var re2:RegExp = new RegExp("x+y*", "i");
trace(re2.source); // x+y*
RegExp | () | Funzione di costruzione |
public function RegExp(re:String, flags:String)| Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9 |
Consente di creare un'espressione regolare da due stringhe. Una stringa definisce il modello dell'espressione regolare, mentre l'altra definisce i flag utilizzati nell'espressione regolare.
Parametrire:String — Il modello dell'espressione regolare (conosciuto anche come stringa della funzione di costruzione). Si tratta della parte principale dell'espressione regolare (la parte compresa tra i caratteri "/").
Note:
| |
flags:String — I modificatori dell'espressione regolare, fra cui i seguenti:
Tutti gli altri caratteri presenti nella stringa |
Altri esempi
exec | () | metodo |
AS3 function exec(str:String):Object| Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Esegue una ricerca dell'espressione regolare nella stringa str data.
Se il flag g (global) non viene impostato per l'espressione regolare, la ricerca comincia all'inizio della stringa, cioè in corrispondenza della posizione di indice 0; la ricerca ignora la proprietà lastIndex dell'espressione regolare.
Se il flag g (global) viene impostato per l'espressione regolare, la ricerca comincia in corrispondenza della posizione di indice specificata dalla proprietà lastIndex dell'espressione regolare. Se la ricerca corrisponde a una sottostringa, la proprietà lastIndex viene modificata per corrispondere alla posizione alla fine della corrispondenza.
Parametri
str:String — La stringa da cercare.
|
Object — Se non viene trovata alcuna corrispondenza, null; in caso contrario, un oggetto con le seguenti proprietà:
|
Altri esempi
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
g (global) non è impostato nell'espressione regolare, è possibile utilizzare exec() per trovare la prima corrispondenza nella stringa:
var myPattern:RegExp = /(\w*)sh(\w*)/ig;
var str:String = "She sells seashells by the seashore";
var result:Object = myPattern.exec(str);
trace(result);
L'oggetto result viene impostato come segue:
-
result[0]è impostato su"She"(la corrispondenza completa). -
result[1]è impostato su una stringa vuota (il primo gruppo parentetico corrispondente). -
result[2]è impostato su"e"(il secondo gruppo parentetico corrispondente). -
result.indexè impostato su 0. -
result.inputè impostato sulla stringa immessa:"She sells seashells by the seashore".
Nell'esempio seguente, il flag g (global) è impostato nell'espressione regolare per consentire di utilizzare exec() ripetutamente e trovare più corrispondenze:
var myPattern:RegExp = /(\w*)sh(\w*)/ig;
var str:String = "She sells seashells by the seashore";
var result:Object = myPattern.exec(str);
while (result != null) {
trace ( result.index, "\t", result);
result = myPattern.exec(str);
}
Il codice determina il seguente output.
0 She,,e
10 seashells,sea,ells
27 seashore,sea,ore
test | () | metodo |
AS3 function test(str:String):Boolean| Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Prova la corrispondenza dell'espressione regolare nella stringa str data.
Se il flag g (global) non viene impostato per l'espressione regolare, la ricerca comincia all'inizio della stringa, cioè in corrispondenza della posizione di indice 0; la ricerca ignora la proprietà lastIndex dell'espressione regolare.
Se il flag g (global) viene impostato per l'espressione regolare, la ricerca comincia in corrispondenza della posizione di indice specificata dalla proprietà lastIndex dell'espressione regolare. Se la ricerca corrisponde a una sottostringa, la proprietà lastIndex viene modificata per corrispondere alla posizione alla fine della corrispondenza.
Parametri
str:String — La stringa da provare.
|
Boolean — Se è presente una corrispondenza, true; in caso contrario, false.
|
Altri esempi
Esempio ( Come utilizzare questo esempio )
test() in un'espressione regolare nella quale viene impostato il flag g (global):
var re1:RegExp = /\w/g; var str:String = "a b c"; trace (re1.lastIndex); // 0 trace (re1.test(str)); // true trace (re1.lastIndex); // 1 trace (re1.test(str)); // true trace (re1.lastIndex); // 3 trace (re1.test(str)); // true trace (re1.lastIndex); // 5 trace (re1.test(str)); // false
informalizeGreeting() sostituisce semplicemente la parola Hello con Hi, indipendentemente dalle maiuscole e dalle minuscole. Esclude inoltre il cognome nella stringa, supponendo che il nome corrisponda al modello specificato. Nei metodi validateEmail() e validatePhoneNumber() viene verificato che il modello della stringa passata corrisponda a un indirizzo e-mail valido o a un modello di numero di telefono specifico e viene restituito un valore booleano corrispondente ai risultati.
package {
import flash.display.Sprite;
public class RegExpExample extends Sprite {
public function RegExpExample() {
var formalGreeting:String = "Hello, John Smith.";
trace(informalizeGreeting(formalGreeting)); // Hi, John.
var validEmail:String = "name@domain.com";
trace(validateEmail(validEmail)); // true
var invalidEmail:String = "foo";
trace(validateEmail(invalidEmail)); // false
var validPhoneNumber:String = "415-555-1212";
trace(validatePhoneNumber(validPhoneNumber)); // true
var invalidPhoneNumber:String = "312-867-530999";
trace(validatePhoneNumber(invalidPhoneNumber)); // false
}
private function informalizeGreeting(str:String):String {
var pattern:RegExp = new RegExp("hello, (\\w+) \\w+", "i");
return str.replace(pattern, "Hi, $1");
}
private function validateEmail(str:String):Boolean {
var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
var result:Object = pattern.exec(str);
if(result == null) {
return false;
}
return true;
}
private function validatePhoneNumber(str:String):Boolean {
var pattern:RegExp = /^\d{3}-\d{3}-\d{4}$/;
var result:Object = pattern.exec(str);
if(result == null) {
return false;
}
return true;
}
}
}
Tue Jun 12 2018, 02:44 PM Z
Nascondi proprietà pubbliche ereditate
Mostra proprietà pubbliche ereditate