Paket | Oberste Ebene |
Klasse | public dynamic class RegExp |
Vererbung | RegExp Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ein neues RegExp-Objekt erstellen Sie mithilfe des Konstruktors new RegExp()
oder per Zuweisung eines RegExp-Literals zu einer Variable:
var pattern1:RegExp = new RegExp("test-\\d", "i"); var pattern2:RegExp = /test-\d/i;
Weitere Informationen finden Sie unter „Verwenden von regulären Ausdrücken“ im ActionScript 3.0 Entwicklerhandbuch.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
dotall : Boolean [schreibgeschützt]
Gibt an, ob ein Punkt (.) in einem regulären Ausdruck nach Zeilenumbrüchen sucht. | RegExp | ||
extended : Boolean [schreibgeschützt]
Gibt an, ob für den regulären Ausdruck der erweiterte Modus verwendet werden soll. | RegExp | ||
global : Boolean [schreibgeschützt]
Gibt an, ob für den regulären Ausdruck eine globale Suche verwendet werden soll. | RegExp | ||
ignoreCase : Boolean [schreibgeschützt]
Gibt an, ob der reguläre Ausdruck die Groß-/Kleinschreibung ignoriert. | RegExp | ||
lastIndex : Number
Gibt die Indexposition im String an, ab der die nächste Suche beginnen soll. | RegExp | ||
multiline : Boolean [schreibgeschützt]
Gibt an, ob das m-Flag (multiline) gesetzt wurde. | RegExp | ||
source : String [schreibgeschützt]
Gibt das Muster des regulären Ausdrucks an. | RegExp |
Methode | Definiert von | ||
---|---|---|---|
Dient zur Erstellung eines regulären Ausdrucks aus zwei Strings. | RegExp | ||
Führt in dem gegebenen String „str“ eine Suche nach dem regulären Ausdruck durch. | RegExp | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Testet in dem gegebenen String „str“ auf Übereinstimmung mit dem regulären Ausdruck. | RegExp | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
dotall | Eigenschaft |
dotall:Boolean
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt an, ob ein Punkt (.) in einem regulären Ausdruck nach Zeilenumbrüchen sucht. Verwenden Sie das s
-Flag, um einen regulären Ausdruck zu erstellen, der dotall = true
setzt.
Implementierung
public function get dotall():Boolean
Beispiel ( Verwendung dieses Beispiels )
s
-Flags (dotall
) bei einem regulären Ausdruck hervor:
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 | Eigenschaft |
extended:Boolean
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt an, ob für den regulären Ausdruck der erweiterte Modus verwendet werden soll. Befindet sich ein RegExp-Objekt im erweiterten Modus, werden Leerraumzeichen im Konstruktorstring ignoriert. Dadurch können die Konstruktoren lesbarer gestaltet werden.
Verwenden Sie das x
-Flag, um einen regulären Ausdruck zu erstellen, der extended = true
setzt.
Implementierung
public function get extended():Boolean
Beispiel ( Verwendung dieses Beispiels )
x
-Flag verwendet, wodurch die Leerräume im String ignoriert werden.
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 | Eigenschaft |
global:Boolean
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt an, ob für den regulären Ausdruck eine globale Suche verwendet werden soll. Wenn global == true
, wird die lastIndex
-Eigenschaft gesetzt, nachdem eine Übereinstimmung gefunden wurde. Wenn das nächste Mal eine Suche ausgelöste wird, beginnt die Engine für reguläre Ausdrücke ab der Position lastIndex
in dem String. Verwenden Sie das g
-Flag, um einen regulären Ausdruck zu erstellen, der global
auf true
setzt.
Implementierung
public function get global():Boolean
Beispiel ( Verwendung dieses Beispiels )
g
-Flags (global
) auf die exec()
-Methode hervor:
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 | Eigenschaft |
ignoreCase:Boolean
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Gibt an, ob der reguläre Ausdruck die Groß-/Kleinschreibung ignoriert. Verwenden Sie das i
-Flag, um einen regulären Ausdruck zu erstellen, der ignoreCase = true
setzt.
Implementierung
public function get ignoreCase():Boolean
Beispiel ( Verwendung dieses Beispiels )
i
-Flags (ignoreCase
) hat:
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 | Eigenschaft |
lastIndex:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die Indexposition im String an, ab der die nächste Suche beginnen soll. Diese Eigenschaft wirkt sich auf die exec()
- und test()
-Methode der RegExp-Klasse aus. Allerdings ignorieren die match()
-, replace()
- und search()
-Methoden der String-Klasse die lastIndex
-Eigenschaft und beginnen die Suche immer ab dem Anfang eines Strings.
Wenn die exec()
- oder test()
-Methode eine Übereinstimmung findet, und das g
-Flag (global
) für diesen regulären Ausdruck auf true
gesetzt ist, setzt die Methode automatisch die lastIndex
-Eigenschaft auf die Indexposition des Zeichens nach dem letzten Zeichen im gefundenen passenden Teilstring der letzten Suche. Ist das g
-Flag (global
) auf false
gesetzt, wird die lastIndex
-Eigenschaft von der Methode nicht gesetzt.
Sie können die lastIndex
-Eigenschaft setzen, um die Anfangsposition in dem String zu setzen, in dem nach einem regulären Ausdruck gesucht werden soll.
Implementierung
public function get lastIndex():Number
public function set lastIndex(value:Number):void
Beispiel ( Verwendung dieses Beispiels )
lastIndex
-Eigenschaft hat. Außerdem wird gezeigt, wie sie nach einem Aufruf der exec()
-Methode bei einem regulären Ausdruck aktualisiert wird, in dem das g
-Flag (global
) gesetzt wurde:
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 | Eigenschaft |
multiline:Boolean
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt an, ob das m
-Flag (multiline
) gesetzt wurde. Ist das Flag gesetzt, wird mit dem Caret- (^
) und dem Dollarzeichen ($
) in einem regulären Ausdruck nach Übereinstimmungen vor und nach einem Zeilenumbruch gesucht. Verwenden Sie das m
-Flag, um einen regulären Ausdruck zu erstellen, der multiline = true
setzt.
Implementierung
public function get multiline():Boolean
Beispiel ( Verwendung dieses Beispiels )
m
-Flags (multiline
) hat:
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 | Eigenschaft |
source:String
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt das Muster des regulären Ausdrucks an.
Implementierung
public function get source():String
Beispiel ( Verwendung dieses Beispiels )
source
-Parameter für zwei reguläre Ausdrücke aus:
var re1:RegExp = /aabb/gi; trace (re1.source); // aabb var re2:RegExp = new RegExp("x+y*", "i"); trace(re2.source); // x+y*
RegExp | () | Konstruktor |
public function RegExp(re:String, flags:String)
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Dient zur Erstellung eines regulären Ausdrucks aus zwei Strings. Ein String definiert das Muster des regulären Ausdrucks, und der zweite definiert die im regulären Ausdruck verwendeten Flags.
Parameterre:String — Das Muster des regulären Ausdrucks (wird auch Konstruktorstring genannt). Dies ist der Hauptteil des regulären Ausdrucks (der Teil, der innerhalb der Schrägstriche („/“) vorkommt).
Hinweise:
| |
flags:String — Die Modifizierer des regulären Ausdrucks. Dazu zählen die folgenden Zeichen:
Alle anderen Zeichen im |
exec | () | Methode |
AS3 function exec(str:String):Object
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Führt in dem gegebenen String str
eine Suche nach dem regulären Ausdruck durch.
Ist das g
-Flag (global
) für den regulären Ausdruck not gesetzt, so beginnt die Suche am Anfang des Strings (bei Indexposition 0); die Suche ignoriert die lastIndex
-Eigenschaft des regulären Ausdrucks.
Ist das g
-Flag (global
) für den regulären Ausdruck gesetzt, so beginnt die Suche bei der Indexposition, die durch die lastIndex
-Eigenschaft des regulären Ausdrucks angegeben wird. Wird nach einem Teilstring gesucht, ändert sich die lastIndex
-Eigenschaft so, dass sie der Position des Endes der Übereinstimmung entspricht.
Parameter
str:String — Der String, der durchsucht werden soll.
|
Object — null , wenn keine Übereinstimmung gefunden wird; andernfalls ein Objekt mit einer der folgenden Eigenschaften:
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
g
-Flag (global
) im regulären Ausdruck nicht gesetzt ist, können Sie mit exec()
nach der ersten Übereinstimmung im String suchen:
var myPattern:RegExp = /(\w*)sh(\w*)/ig; var str:String = "She sells seashells by the seashore"; var result:Object = myPattern.exec(str); trace(result);
Das result
-Objekt wird auf folgende Werte gesetzt:
-
result[0]
wird auf"She"
gesetzt (die vollständige Übereinstimmung). -
result[1]
wird auf einen leeren String gesetzt (die erste übereinstimmende in Klammern eingeschlossene Gruppe). -
result[2]
wird auf"e"
gesetzt (die zweite übereinstimmende in Klammern eingeschlossene Gruppe). -
result.index
wird auf 0 gesetzt. -
result.input
wird auf den Eingabestring gesetzt:"She sells seashells by the seashore"
.
Im folgenden Beispiel wird das g
-Flag (global
) im regulären Ausdruck gesetzt, sodass Sie exec()
wiederholt verwenden können, um mehrere Übereinstimmungen zu finden:
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); }
Der Code ergibt die folgende Ausgabe.
0 She,,e
10 seashells,sea,ells
27 seashore,sea,ore
test | () | Methode |
AS3 function test(str:String):Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Prüft den gegebenen String str
auf eine Übereinstimmung mit dem regulären Ausdruck.
Ist das g
-Flag (global
) für den regulären Ausdruck not gesetzt, so beginnt die Suche am Anfang des Strings (bei Indexposition 0); die Suche ignoriert die lastIndex
-Eigenschaft des regulären Ausdrucks.
Ist das g
-Flag (global
) für den regulären Ausdruck gesetzt, so beginnt die Suche bei der Indexposition, die durch die lastIndex
-Eigenschaft des regulären Ausdrucks angegeben wird. Wird nach einem Teilstring gesucht, ändert sich die lastIndex
-Eigenschaft so, dass sie der Position des Endes der Übereinstimmung entspricht.
Parameter
str:String — Der zu testende String.
|
Boolean — true , wenn es eine Übereinstimmung gibt; andernfalls false .
|
Beispiel ( Verwendung dieses Beispiels )
test()
-Methode bei einem regulären Ausdruck, in dem das g
-Flag (global
) wie folgt gesetzt ist:
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()
-Methode ersetzt einfach das WortHello
durch Hi
, wobei die Groß- oder Kleinschreibung keine Rolle spielt. Außerdem wird der Nachname aus dem Namen im String entfernt (vorausgesetzt, dass der Name dem angegebenen Muster entspricht). In den validateEmail()
- und validatePhoneNumber()
-Methoden wird der übergebene String wird überprüft, um zu sehen, ob sein Muster einer gültigen E-Mail-Adresse oder einem bestimmten Telefonnummernmuster entspricht. Auf der Grundlage der Ergebnisse geben die Methoden boolesche Werte zurück.
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, 10:04 AM Z