Tworzenie instancji wyrażenia regularnegoFlash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje Istnieją dwa sposoby tworzenia instancji wyrażenie regularnego. Jeden sposób używa znaków ukośnika zwykłego (/) w celu ujęcia wyrażenia regularnego; drugie używa konstruktora new. Na przykład: poniższe wyrażenia regularne są równoważne: var pattern1:RegExp = /bob/i;
var pattern2:RegExp = new RegExp("bob", "i");
Ukośniki zwykłe obejmują literał wyrażenia regularnego w taki sam sposób, w jaki cudzysłów obejmuje literał ciągu znaków. Fragment wyrażenia regularnego między zwykłymi ukośnikami definiuje wzorzec. Wyrażenie regularne może zawierać także flagi po ostatnim ukośniku obejmującym. Flagi są uwzględniane w wyrażeniu regularnym, ale są oddzielone od jego wzorca. Podczas używania konstruktora new programista używa do definiowania wyrażenia regularnego dwóch ciągów znaków. Pierwszy ciąg definiuje wzorzec, a drugi ciąg definiuje flagi, co ilustruje poniższy przykład: var pattern2:RegExp = new RegExp("bob", "i");
W wypadku umieszczenia zwykłego ukośnika do wyrażenia regularnego, które definiowane jest za pomocą zwykłych ukośników obejmujących, należy poprzedzić znak ukośnika zwykłego znakiem zmiany znaczenia — odwróconym ukośnikiem (\). Na przykład: poniższe wyrażenie regularne dopasowuje wzorzec 1/2: var pattern:RegExp = /1\/2/; Aby uwzględnić cudzysłowy w wyrażeniu regularnym, które definiowane jest za pomocą konstruktora new, należy dodać znak zmiany znaczenia — odwrócony ukośnik (\) — przed cudzysłowem (tak, jak podczas definiowania literału String). Na przykład: poniższe wyrażenia regularne dopasowują wzorzec eat at "joe's": var pattern1:RegExp = new RegExp("eat at \"joe's\"", "");
var pattern2:RegExp = new RegExp('eat at "joe\'s"', "");
Nie należy używać znaku zmiany znaczenia — odwróconego ukośnika — z cudzysłowem w wyrażeniach regularnych, które definiowane są za pomocą zwykłych ukośników obejmujących. Podobnie nie należy używać znaku zmiany znaczenia ze znakami zwykłych ukośników w wyrażeniach regularnych zdefiniowanych za pomocą konstruktora new. Poniższe wyrażenia regularne są równoważne i definiują wzorzec 1/2 "joe's": var pattern1:RegExp = /1\/2 "joe's"/;
var pattern2:RegExp = new RegExp("1/2 \"joe's\"", "");
var pattern3:RegExp = new RegExp('1/2 "joe\'s"', '');
Także w wyrażeniu regularnym zdefiniowanym za pomocą konstruktora new, aby użyć metasekwencji, która rozpoczyna się znakiem ukośnika odwróconego (\) np. \d (który dopasowuje dowolną cyfrę), należy wpisać znak ukośnika odwróconego dwukrotnie: var pattern:RegExp = new RegExp("\\d+", ""); // matches one or more digits
W tym przypadku znak odwróconego ukośnika należy wpisać dwukrotnie, ponieważ pierwszy parametr metody konstruktora RegExp() jest ciągiem znaków, a w literale ciągu znaków znak odwróconego ukośnika należy wpisać dwukrotnie w celu rozpoznania go jako pojedynczego znaku odwróconego ukośnika. W poniższej sekcji została opisana składnia do definiowania wzorców wyrażeń regularnych. Więcej informacji o flagach zawiera sekcja Flagi i właściwości. |
|