Znaki, metaznaki i metasekwencje

Flash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje

Najprostszym wyrażeniem regularnym jest wyrażenie, które dopasowuje sekwencję znaków, co ilustruje poniższy przykład:

var pattern:RegExp = /hello/;

Jednak poniższe znaki, nazywane metaznakami mają specjalne znaczenie w wyrażeniach regularnych:

^ $ \ . * + ? ( ) [ ] { } |

Na przykład: poniższe wyrażenie regularne dopasowuje literę A, po której następuje zero lub więcej instancji litery B (metaznak gwiazdka wskazuje na powtórzenie), po której następuje litera C:

/AB*C/

Aby uwzględnić metaznak bez jego specjalnego znaczenia we wzorcu wyrażenia regularnego, należy użyć znaku zmiany znaczenia — odwróconego ukośnika ( \ ). Na przykład: poniższe wyrażenie regularne dopasowuje literę A, po której następuje litera B, po której z kolei następuje gwiazdka, a na końcu litera C:

var pattern:RegExp = /AB\*C/;

Metasekwencja podobnie jak metaznak ma w wyrażeniu regularnym specjalne znaczenie. Metasekwencja składa się z więcej niż jednego znaku. W następnych sekcjach szczegółowo omówione zostało korzystanie z metaznaków i metasekwencji.

Informacje o metaznakach

Poniższa tabela podsumowuje metaznaki używane w wyrażeniach regularnych:

Metaznak

Opis

^ (daszek)

Dopasowuje początek ciągu znaków. Gdy ustawiona jest flaga m ( multiline ), daszek dopasowuje także początek wiersza (patrz Flagi i właściwości ). Należy zauważyć, że użycie daszka na początku klasy znaków wskazuje negację, a nie początek ciągu znaków. Więcej informacji zawiera sekcja Klasy znaków .

$ (znak dolara)

Dopasowuje koniec ciągu znaków. Z ustawioną flagą m ( multiline ) $ dopasowuje także położenie przed znakiem nowego wiersza ( \n ). Więcej informacji zawiera sekcja Flagi i właściwości .

\ (ukośnik odwrotny)

Powoduje przejście w tryb metaznaków dla znaków specjalnych.

Z ukośnika odwrotnego należy korzystać także w celu użycia znaku zwykłego ukośnika w literale wyrażenia regularnego tak, jak w przykładzie /1\/2/ (aby dopasować znak 1, po którym następuje znak zwykłego ukośnika i znak 2).

. (kropka)

Dopasowuje dowolny pojedynczy znak.

Kropka dopasowuje znak nowego wiersza ( \n ) tylko, jeśli ustawiona została flaga s ( dotall ). Więcej informacji zawiera sekcja Flagi i właściwości .

* (gwiazda)

Dopasowuje poprzedni element powtórzony zero lub więcej razy.

Więcej informacji zawiera sekcja Kwantyfikatory .

+ (plus)

Dopasowuje poprzedni element powtórzony co najmniej raz.

Więcej informacji zawiera sekcja Kwantyfikatory .

? (znak zapytania)

Dopasowuje poprzedni element powtórzony zero lub raz.

Więcej informacji zawiera sekcja Kwantyfikatory .

( i )

Definiuje grupy w wyrażeniu regularnym. Grup należy używać:

  • Do ograniczania zakresu alternatora |: /(a|b|c)d/

  • Do definiowania zakresu kwantyfikatora: /(walla){1,2}/

  • W odwołaniach wstecznych. Na przykład: \1 w poniższym wyrażeniu regularnym dopasowuje wszystko, co jest zgodne z pierwszą grupą ujętą w nawias okrągły wzorca:

  • /(\w*) is repeated: \1/

Więcej informacji zawiera sekcja Grupy .

[ and ]

Definiuje klasę znaku, która definiuje możliwe dopasowania dla pojedynczego znaku:

/[aeiou]/ dopasowuje jeden, dowolny z określonych znaków.

W klasach znaku użycie łącznika ( - ) wskazuje zakres znaków:

/[A-Z0-9]/ dopasowuje wielkie litery od A do Z lub od 0 do 9.

W klasach znaku należy wstawić odwrotny ukośnik, aby użyć znaków ] oraz

- :

/[+\-]\d+/ dopasowuje + lub - przed co najmniej jedną cyfrą.

W klasach znaku inne znaki, które są zazwyczaj metaznakami, traktowane są jako znaki normalne (nie metaznaki) bez konieczności użycia znaku odwrotnego ukośnika:

/[$]/ £ dopasowuje $ lub £ .

Więcej informacji zawiera sekcja Klasy znaków .

| (znak kreski pionowej)

Używany dla alternatywy, aby dopasować część po lewej stronie lub część po prawej stronie znaku:

/abc|xyz/ dopasowuje abc lub xyz .

Informacje o metasekwencjach

Metesekwencje są sekwencjami znaków, które mają specjalne znaczenie we wzorcu wyrażenia regularnego. W poniższej tabeli opisane zostały metasekwencje:

Metasekwencja

Opis

{ n }

{ n ,}

i

{ n , n }

Określa kwantyfikator numeryczny lub zakres kwantyfikatora dla poprzedniego elementu:

/A{27}/ dopasowuje znak A powtórzony 27 razy.

/A{3,}/ dopasowuje znak A powtórzony co najmniej 3 razy.

/A{3,5}/ dopasowuje znak A powtórzony od 3 do 5 razy.

Więcej informacji zawiera sekcja Kwantyfikatory .

\b

Dopasowuje położenie między znakiem słowa a znakiem nie należącym do słowa. Jeśli pierwszy lub ostatni znak w ciągu jest znakiem słowa, dopasowuje także początek lub koniec ciągu.

\B

Dopasowuje położenie między dwoma znakami słowa. Dopasowuje także położenie między dwoma znakami nie należącymi do słowa.

\d

Dopasowuje cyfrę dziesiętną.

\D

Dopasowuje dowolny znak inny niż cyfra.

\f

Dopasowuje znak przesunięcia strony.

\n

Dopasowuje znak nowego wiersza.

\r

Dopasowuje znak powrotu karetki.

\s

Dopasowuje dowolny biały znak (spacja, tabulacja, znak nowego wiersza lub znak powrotu karetki).

\S

Dopasowuje dowolny znak inny niż biały znak.

\t

Dopasowuje znak tabulacji.

\u nnnn

Dopasowuje znak Unicode do znaku o kodzie szesnastkowym nnnn Na przykład: \u263a to uśmieszek.

\v

Znak pionowego wysunięcia strony.

\w

Dopasowuje znak słowa ( AZ –, az –, 0-9 lub _ ). Należy zauważyć, że \w nie dopasowuje znaków spoza alfabetu języka angielskiego takich, jak é , ñ lub ç .

\W

Dopasowuje dowolny znak inny niż znak słowa.

\\x nn

Dopasowuje znak do określonej wartości ASCII definiowanej przez liczbę szesnastkową nn