Pakket | Hoofdniveau |
Klasse | public dynamic class RegExp |
Overerving | RegExp Object |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
U kunt een nieuw object RegExp maken met de constructor new RegExp()
of door een letterlijke RegExp aan een variabele toe te wijzen:
var pattern1:RegExp = new RegExp("test-\\d", "i"); var pattern2:RegExp = /test-\d/i;
Zie het hoofdstuk 'Reguliere expressies gebruiken' in de Adobe ActionScript 3.0-ontwikkelaarsgids voor meer informatie.
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
dotall : Boolean [alleen-lezen]
Geeft aan of de punt (.) in een reguliere-expressiepatroon overeenkomt met nieuwe-regeltekens. | RegExp | ||
extended : Boolean [alleen-lezen]
Geeft op of de uitgebreide modus voor de reguliere expressie moet worden gebruikt. | RegExp | ||
global : Boolean [alleen-lezen]
Geeft op of algemene overeenkomst voor de reguliere expressie moet worden gebruikt. | RegExp | ||
ignoreCase : Boolean [alleen-lezen]
Geeft op of de reguliere expressie het verschil tussen hoofdletters en kleine letters negeert. | RegExp | ||
lastIndex : Number
Geeft de indexpositie van de tekenreeks op waar de volgende zoekopdracht moet beginnen. | RegExp | ||
multiline : Boolean [alleen-lezen]
Geeft op of de markering m (meerdere regels) is ingesteld. | RegExp | ||
source : String [alleen-lezen]
Geeft het patroongedeelte van de reguliere expressie op. | RegExp |
Methode | Gedefinieerd door | ||
---|---|---|---|
Hiermee kunt u van twee tekenreeksen een reguliere expressie maken. | RegExp | ||
Voert een zoekopdracht uit naar de reguliere expressie op de opgegeven tekenreeks str. | RegExp | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Test op overeenkomst met de reguliere expressie in de opgegeven tekenreeks str. | RegExp | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object |
dotall | eigenschap |
dotall:Boolean
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Geeft aan of de punt (.) in een reguliere-expressiepatroon overeenkomt met nieuwe-regeltekens. Gebruik de markering s
wanneer u een reguliere expressie samenstelt voor het instellen van dotall = true
.
Implementatie
public function get dotall():Boolean
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
s
(dotall
) op een reguliere expressie:
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 | eigenschap |
extended:Boolean
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Geeft op of de uitgebreide modus voor de reguliere expressie moet worden gebruikt. Voor een object RegExp in de uitgebreide modus worden witruimtetekens in de constructortekenreeks genegeerd. Dit zorgt voor beter leesbare constructors.
Gebruik de markering x
wanneer u een reguliere expressie samenstelt voor het instellen van extended = true
.
Implementatie
public function get extended():Boolean
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
x
, waardoor de witruimtetekens in de tekenreeks worden genegeerd.
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 | eigenschap |
global:Boolean
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Geeft op of algemene overeenkomst voor de reguliere expressie moet worden gebruikt. Bij global == true
, wordt de eigenschap lastIndex
ingesteld nadat een overeenkomst is gevonden. De volgende keer dat om een overeenkomst wordt gevraagd, start de engine voor de reguliere expressie bij de positie lastIndex
in de tekenreeks. Gebruik de markering g
wanneer u een reguliere expressie samenstelt voor het instellen van global
op true
.
Implementatie
public function get global():Boolean
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
g
(global
) op de methode 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 | eigenschap |
ignoreCase:Boolean
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Geeft op of de reguliere expressie het verschil tussen hoofdletters en kleine letters negeert. Gebruik de markering i
wanneer u een reguliere expressie samenstelt voor het instellen van ignoreCase = true
.
Implementatie
public function get ignoreCase():Boolean
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
i
(ignoreCase
) getoond:
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 | eigenschap |
lastIndex:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Geeft de indexpositie van de tekenreeks op waar de volgende zoekopdracht moet beginnen. Deze eigenschap is van invloed op de methoden exec()
en test()
van de klasse RegExp. Bij de methoden match()
, replace()
en search()
van de klasse String wordt de eigenschap lastIndex
echter genegeerd en starten alle zoekopdrachten bij het begin van de tekenreeks.
Wanneer met de methode exec()
of test()
een overeenkomst wordt gevonden en de markering g
(global
) is ingesteld op true
voor de reguliere expressie, wordt de eigenschap lastIndex
automatisch ingesteld op de indexpositie van het teken na het laatste teken in de overeenkomende subtekenreeks van de laatste overeenkomst. Wanneer de markering g
(global
) is ingesteld op false
, wordt de eigenschap lastIndex
niet ingesteld.
U kunt de eigenschap lastIndex
zo instellen dat de startpositie in de tekenreeks voor overeenkomsten van de reguliere expressie wordt aangepast.
Implementatie
public function get lastIndex():Number
public function set lastIndex(value:Number):void
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
lastIndex
getoond, plus de wijze waarop deze wordt bijgewerkt na een aanroep van de methode exec()
op een reguliere expressie waarin de markering g
(global
) is ingesteld:
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 | eigenschap |
multiline:Boolean
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Geeft op of de markering m
(multiline)
is ingesteld. Wanneer het is ingesteld, komen het caret-teken (^
) en het dollarteken ($
) in een reguliere expressie overeen vóór en na nieuwe regels. Gebruik de markering m
wanneer u een reguliere expressie samenstelt voor het instellen van multiline = true
.
Implementatie
public function get multiline():Boolean
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
m
(multiline
) getoond:
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 | eigenschap |
source:String
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Geeft het patroongedeelte van de reguliere expressie op.
Implementatie
public function get source():String
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
source
voor twee reguliere expressies:
var re1:RegExp = /aabb/gi; trace (re1.source); // aabb var re2:RegExp = new RegExp("x+y*", "i"); trace(re2.source); // x+y*
RegExp | () | Constructor |
public function RegExp(re:String, flags:String)
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Hiermee kunt u van twee tekenreeksen een reguliere expressie maken. Eén tekenreeks definieert het patroon van de reguliere expressie en de andere definieert de markeringen die in de reguliere expressie worden gebruikt.
Parametersre:String — Het patroon van de reguliere expressie (ofwel de constructortekenreeks). Dit is het hoofdgedeelte van de reguliere expressie (het deel dat tussen '/' staat).
Opmerkingen:
| |
flags:String — De opties van de reguliere expressie. De volgende opties zijn mogelijk:
Alle overige tekens in de tekenreeks |
exec | () | methode |
AS3 function exec(str:String):Object
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Voert een zoekopdracht uit naar de reguliere expressie op de opgegeven tekenreeks str
.
Wanneer de markering g
(global
) niet is ingesteld voor de reguliere expressie, begint de zoekopdracht bij het begin van de tekenreeks (bij indexpositie 0). De zoekopdracht negeert de eigenschap lastIndex
van de reguliere expressie.
Wanneer de markering g
(global
) wel is ingesteld voor de reguliere expressie, begint de zoekopdracht bij de indexpositie die is opgegeven via de eigenschap lastIndex
van de reguliere expressie. Wanneer de zoekopdracht een overeenkomende subtekenreeks vindt, wordt de eigenschap lastIndex
gewijzigd in de positie van het einde van de overeenkomende reeks.
Parameters
str:String — De tekenreeks waarnaar moet worden gezocht.
|
Object — Wanneer er geen overeenkomst is, null ; anders een object met de volgende eigenschappen:
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
g
(global
) niet is ingesteld in de reguliere expressie, kunt u met exec()
het eerste overeenkomende item in de tekenreeks zoeken.
var myPattern:RegExp = /(\w*)sh(\w*)/ig; var str:String = "She sells seashells by the seashore"; var result:Object = myPattern.exec(str); trace(result);
Het object result
wordt als volgt ingesteld:
-
result[0]
wordt ingesteld op"She"
(de volledige overeenkomst). -
result[1]
wordt ingesteld op een lege tekenreeks (de eerste overeenkomende groep tussen ronde haakjes). -
result[2]
wordt ingesteld op"e"
(de tweede overeenkomende groep tussen ronde haakjes). -
result.index
wordt ingesteld op 0. -
result.input
wordt ingesteld op de ingevoerde tekenreeks:"She sells seashells by the seashore"
.
In het volgende voorbeeld is de markering g
(global
) wel ingesteld in de reguliere expressie, zodat u met exec()
herhaaldelijk meerdere overeenkomsten kunt zoeken:
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); }
Deze code levert de volgende uitvoer op:
0 She,,e
10 seashells,sea,ells
27 seashore,sea,ore
test | () | methode |
AS3 function test(str:String):Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Test op overeenkomst met de reguliere expressie in de opgegeven tekenreeks str
.
Wanneer de markering g
(global
) niet is ingesteld voor de reguliere expressie, begint de zoekopdracht bij het begin van de tekenreeks (bij indexpositie 0). De zoekopdracht negeert de eigenschap lastIndex
van de reguliere expressie.
Wanneer de markering g
(global
) wel is ingesteld voor de reguliere expressie, begint de zoekopdracht bij de indexpositie die is opgegeven via de eigenschap lastIndex
van de reguliere expressie. Wanneer de zoekopdracht een overeenkomende subtekenreeks vindt, wordt de eigenschap lastIndex
gewijzigd in de positie van het einde van de overeenkomende reeks.
Parameters
str:String — De tekenreeks die moet worden getest.
|
Boolean — true wanneer er een overeenkomst is, anders false .
|
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
test()
op een reguliere expressie getoond waarin de markering g
(global
) is ingesteld:
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()
wordt het woord Hello
altijd vervangen door Hi
, ongeacht of hoofdletters of kleine letters worden gebruikt. Ook de achternaam wordt uit de naam in de tekenreeks verwijderd (wanneer de naam voldoet aan het opgegeven patroon). In de methoden validateEmail()
en validatePhoneNumber()
wordt de doorgegeven tekenreeks gecontroleerd om te zien of het patroon overeenkomt met een geldig e-mailadres of een bepaald patroon voor telefoonnummers. Op basis van de resultaten worden Booleaanse waarden geretourneerd.
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; } } }
Wed Jun 13 2018, 11:42 AM Z