15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Verwenden von regulären Ausdrücken<br />

In diesem Fall stimmt der gesamte Teilstring innerhalb der -Tags mit dem regulären Ausdruck überein,<br />

einschließlich des Zeilenvorschubzeichens:<br />

Test<br />

Multiline<br />

x-Flag (extended)<br />

Reguläre Ausdrücke sind unter Umständen schwer lesbar, vor allem, wenn sie viele Metasymbole und Metasequenzen<br />

enthalten. Zum Beispiel:<br />

/|(\s*[^>]*>)).*?/gi<br />

Wenn Sie das x-Flag (extended) in einem regulären Ausdruck verwenden, werden alle im Muster eingefügten<br />

Leerzeichen ignoriert. Der folgende reguläre Ausdruck ist beispielsweise mit dem vorherigen Beispiel identisch:<br />

/ | (\s* [^>]* >)) .*? /gix<br />

Wenn das x-Flag gesetzt ist und Sie angeben möchten, dass ein bestimmtes Leerzeichen nicht ignoriert werden soll,<br />

fügen Sie vor dem Leerzeichen einen umgekehrten Schrägstrich ein. Die beiden folgenden regulären Ausdrücke sind<br />

beispielsweise gleichwertig:<br />

/foo bar/<br />

/foo \ bar/x<br />

lastIndex-Eigenschaft<br />

Die lastIndex-Eigenschaft gibt die Indexposition im String an, ab der die nächste Suche beginnen soll. Diese<br />

Eigenschaft hat Auswirkungen auf die Methoden exec() und test(), die für einen regulären Ausdruck aufgerufen<br />

werden, bei dem das g-Flag auf true gesetzt ist. Betrachten Sie den folgenden Beispielcode:<br />

var pattern:RegExp = /p\w*/gi;<br />

var str:String = "Pedro Piper picked a peck of pickled peppers.";<br />

trace(pattern.lastIndex);<br />

var result:Object = pattern.exec(str);<br />

while (result != null)<br />

{<br />

trace(pattern.lastIndex);<br />

result = pattern.exec(str);<br />

}<br />

Die lastIndex-Eigenschaft ist in der Standardeinstellung auf 0 gesetzt (damit Suchvorgänge am Anfang eines Strings<br />

gestartet werden). Nach jeder Übereinstimmung wird die Eigenschaft auf die Indexposition nach der<br />

Übereinstimmung gesetzt. Dies ergibt die folgende Ausgabe für das vorherige Codebeispiel:<br />

0<br />

5<br />

11<br />

18<br />

25<br />

36<br />

44<br />

Wenn das global-Flag auf false gesetzt ist, verwenden oder setzen die Methoden exec() und test() die<br />

lastIndex-Eigenschaft nicht.<br />

Die Methoden match(), replace() und search() der String-Klasse starten alle Suchvorgänge am Anfang eines<br />

Strings, unabhängig von der Einstellung der lastIndex-Eigenschaft des regulären Ausdrucks, der zum Aufrufen der<br />

entsprechenden Methode verwendet wird. (Mit der match()-Methode wird die lastIndex-Eigenschaft jedoch auf 0<br />

gesetzt.)<br />

Letzte Aktualisierung 27.6.2012<br />

95

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!