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():Boolean
Altri 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():Boolean
Altri 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():Boolean
Altri 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():Boolean
Altri 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):void
Altri 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():Boolean
Altri 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():String
Altri 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