| Paket | Översta nivån |
| Klass | public dynamic class RegExp |
| Arv | RegExp Object |
| Språkversion: | ActionScript 3.0 |
| Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Du kan skapa ett nytt RegExp-objekt genom att använda konstruktorn new RegExp() eller genom att tilldela en RegExp-litteral till en variabel:
var pattern1:RegExp = new RegExp("test-\\d", "i");
var pattern2:RegExp = /test-\d/i;
Ytterligare information finns i kapitlet ”Använda reguljära uttryck” i Utvecklarhandbok för Adobe ActionScript 3.0.
Relaterade API-element
| Egenskap | Definieras med | ||
|---|---|---|---|
![]() | constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | |
| dotall : Boolean [skrivskyddad]
Anger om tecknet punkt (.) i ett reguljärt uttrycksmönster matchar radbrytningstecken. | RegExp | ||
| extended : Boolean [skrivskyddad]
Anger om utökat läge ska användas för det reguljära uttrycket. | RegExp | ||
| global : Boolean [skrivskyddad]
Anger om global sökning ska användas för det reguljära uttrycket. | RegExp | ||
| ignoreCase : Boolean [skrivskyddad]
Anger om det reguljära uttrycket ska ignorera skiftlägeskänslighet. | RegExp | ||
| lastIndex : Number
Anger indexpositionen i strängen som nästa sökning ska starta vid. | RegExp | ||
| multiline : Boolean [skrivskyddad]
Anger om flaggan m (multiline) är inställd. | RegExp | ||
| source : String [skrivskyddad]
Anger det reguljära uttryckets mönsterdel. | RegExp | ||
| Metod | Definieras med | ||
|---|---|---|---|
Gör att du kan skapa ett reguljärt uttryck av två strängar. | RegExp | ||
Gör en sökning efter det reguljära uttrycket i den givna strängen str. | RegExp | ||
![]() |
Anger om det finns en egenskap angiven för ett objekt. | Object | |
![]() |
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | |
![]() |
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | |
![]() |
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | |
Testar om det finns en matchning för det reguljära uttrycket i den givna strängen str. | RegExp | ||
![]() |
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | |
![]() |
Returnerar det angivna objektets strängbeteckning. | Object | |
![]() |
Returnerar det angivna objektets primitiva värde. | Object | |
dotall | egenskap |
dotall:Boolean [skrivskyddad] | Språkversion: | ActionScript 3.0 |
| Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger om tecknet punkt (.) i ett reguljärt uttrycksmönster matchar radbrytningstecken. Använd flaggan s när du konstruerar ett reguljärt uttryck som ställer in dotall = true.
Implementering
public function get dotall():BooleanExempel ( Så här använder du exemplet )
s (dotall) på ett reguljärt uttryck:
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 | egenskap |
extended:Boolean [skrivskyddad] | Språkversion: | ActionScript 3.0 |
| Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger om utökat läge ska användas för det reguljära uttrycket. När ett RegExp-objekt är i extended-läge ignoreras tomrumstecken i konstruktorsträngen. Detta görs för att konstruktorer som är lättare att läsa ska tillåtas.
Använd flaggan x när du konstruerar ett reguljärt uttryck som ställer in extended = true.
Implementering
public function get extended():BooleanExempel ( Så här använder du exemplet )
x som ignorerar tomrum i strängen.
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 | egenskap |
global:Boolean [skrivskyddad] | Språkversion: | ActionScript 3.0 |
| Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger om global sökning ska användas för det reguljära uttrycket. När global == true ställs egenskapen lastIndex in efter en matchning. Nästa gång en matchning begärs startar den reguljära uttrycksmotorn från positionen lastIndex i strängen. Använd flaggan x när du konstruerar ett reguljärt uttryck som ställer in extended till true.
Implementering
public function get global():BooleanExempel ( Så här använder du exemplet )
g (global) ställs in på metoden 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 | egenskap |
ignoreCase:Boolean [skrivskyddad] | Språkversion: | ActionScript 3.0 |
| Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Anger om det reguljära uttrycket ska ignorera skiftlägeskänslighet. Använd flaggan i när du konstruerar ett reguljärt uttryck som ställer in ignoreCase = true.
Implementering
public function get ignoreCase():BooleanExempel ( Så här använder du exemplet )
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 | egenskap |
lastIndex:Number| Språkversion: | ActionScript 3.0 |
| Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger indexpositionen i strängen som nästa sökning ska starta vid. Egenskapen påverkar metoderna exec() och test() i klassen RegExp. Metoderna match(), replace() och search() i klassen String ignorerar dock egenskapen lastIndex och söker igenom alla strängar från början.
När metoden exec() eller test() hittar en matchning och flaggan g (global) är inställd på true för det reguljära uttrycket ställer metoden automatiskt in egenskapen lastIndex på indexpositionen för tecknet efter den matchande delsträngen i den senaste matchningen. Om flaggan g (global) är inställd på false ställer metoden inte in egenskapen lastIndex.
Du kan ställa in egenskapen lastIndex om du vill justera startpositionen i strängen för reguljär uttrycksmatchning.
Implementering
public function get lastIndex():Number public function set lastIndex(value:Number):voidExempel ( Så här använder du exemplet )
lastIndex. Dessutom visas hur den uppdateras efter ett anrop till metoden exec() på ett reguljärt uttryck där flaggan g (global) är inställd:
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 | egenskap |
multiline:Boolean [skrivskyddad] | Språkversion: | ActionScript 3.0 |
| Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger om flaggan m (multiline) är inställd. Om den är inställd kommer cirkumflex- (^) och dollartecknet ($) i ett reguljärt uttryck att matchas före och efter radbrytning. Använd flaggan m när du konstruerar ett reguljärt uttryck som ställer in multiline = true.
Implementering
public function get multiline():BooleanExempel ( Så här använder du exemplet )
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 | egenskap |
source:String [skrivskyddad] | Språkversion: | ActionScript 3.0 |
| Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anger det reguljära uttryckets mönsterdel.
Implementering
public function get source():StringExempel ( Så här använder du exemplet )
source för två reguljära uttryck:
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)| Språkversion: | ActionScript 3.0 |
| Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Gör att du kan skapa ett reguljärt uttryck av två strängar. En sträng definierar det reguljära uttryckets mönster och den andra definierar flaggorna som används i det reguljära uttrycket.
Parametrarre:String — Det reguljära uttryckets mönster (kallas även konstruktorsträng). Detta är huvuddelen av det reguljära uttrycket (den del som finns mellan "/"-tecknen).
Obs!
| |
flags:String — Det reguljära uttryckets modifierare. Dessa kan vara några av följande:
Alla andra tecken i |
exec | () | metod |
AS3 function exec(str:String):Object| Språkversion: | ActionScript 3.0 |
| Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gör en sökning efter det reguljära uttrycket i den givna strängen str.
Om flaggan g (global) inte är inställd för det reguljära uttrycket börjar sökningen i början av strängen (vid indexposition 0). Sökningen ignorerar egenskapen lastIndex i det reguljära uttrycket.
Om flaggan g (global) är inställd för det reguljära uttrycket börjar sökningen vid indexpositionen, som anges av lastIndex i det reguljära uttrycket. Om sökningen matchar en delsträng ändras egenskapen lastIndex för att matcha positionen i slutet av matchningen.
Parametrar
str:String — Strängen som eftersöks.
|
Object — Om det inte blir någon matchning null; annars ett objekt med följande egenskaper:
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
g (global) inte är inställd i det reguljära uttrycket kan du använda exec() för att hitta den första matchningen i strängen:
var myPattern:RegExp = /(\w*)sh(\w*)/ig;
var str:String = "She sells seashells by the seashore";
var result:Object = myPattern.exec(str);
trace(result);
Objektet result ställs in på följande:
-
result[0]är inställt på"She"(den kompletta matchningen). -
result[1]är inställt på en tom sträng (den första matchande parentetiska gruppen). -
result[2]är inställt på"e"(den andra matchande parentetiska gruppen). -
result.indexär inställt på 0. -
result.inputär inställt på indatasträngen:"She sells seashells by the seashore".
I följande exempel är flaggan g (global) inställd i det reguljära uttrycket så att du kan använda exec() upprepade gånger för att hitta flera matchningar:
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);
}
Koden ger följande utdata:
0 She,,e
10 seashells,sea,ells
27 seashore,sea,ore
test | () | metod |
AS3 function test(str:String):Boolean| Språkversion: | ActionScript 3.0 |
| Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Testar om det finns en matchning för det reguljära uttrycket i den givna strängen str.
Om flaggan g (global) inte är inställd för det reguljära uttrycket börjar sökningen i början av strängen (vid indexposition 0). Sökningen ignorerar egenskapen lastIndex i det reguljära uttrycket.
Om flaggan g (global) är inställd för det reguljära uttrycket börjar sökningen vid indexpositionen, som anges av lastIndex i det reguljära uttrycket. Om sökningen matchar en delsträng ändras egenskapen lastIndex för att matcha positionen i slutet av matchningen.
Parametrar
str:String — Strängen som ska testas.
|
Boolean — Om det är en matchning true; annars false.
|
Exempel ( Så här använder du exemplet )
test() används på ett reguljärt uttryck där flaggan g (global) är inställd:
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() ersätter ordet Hello med Hi oavsett skiftläge. Dessutom tas efternamnet bort från en sträng med ett namn (om namnet matchar ett visst angivet mönster). I metoderna validateEmail() och validatePhoneNumber() kontrolleras den inskickade strängen för att se om dess mönster matchar en giltig e-postadress eller ett visst telefonnummermönster. Metoderna returnerar booleska värden baserat på resultaten.
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, 01:40 PM Z
Dölj ärvda publika egenskaper
Visa ärvda publika egenskaper