Teckenklasser

Flash Player 9 och senare, Adobe AIR 1.0 och senare

Du använder teckenklasser för att ange en teckenlista som ska matcha en position i det reguljära uttrycket. Du definierar teckenklasser med hakparenteser ( [ och ] ). I följande reguljära uttryck definieras en teckenklass som matchar bag , beg , big , bog eller bug :

/b[aeiou]g/

Escape-sekvenser i teckenklasser

De flesta metatecken och metasekvenser som vanligtvis har en speciell betydelse i ett reguljärt uttryck har inte samma betydelse i en teckenklass. I ett reguljärt uttryck används exempelvis asterisken för att repetitioner, men detta gäller inte när asterisken används i en teckenklass. Följande teckenklass matchar asterisken litteralt, men även övriga listade tecken:

/[abc*123]/

De tre tecknen i tabellen nedan fungerar emellertid som metatecken med en speciell betydelse i teckenklasser:

Metatecken

Betydelse i teckenklasser

]

Definierar slutet på teckenklassen.

-

Definierar ett teckenintervall (se avsnittet ”Teckenintervall i teckenklasser”).

\

Definierar metasekvenser och upphäver den speciella betydelsen för metatecknen.

För att dessa tecken ska identifieras som litteraler (utan den speciella metateckenbetydelsen) måste du före tecknen skriva ett omvänt snedstreck som escape-tecken. I följande reguljära uttryck finns en teckenklass som matchar dessa fyra symboler( $ , \ , ] eller - ):

/[$\\\]\-]/

Förutom metatecknen som behåller specialbetydelsen fungerar följande metasekvenser som metasekvenser inom teckenklasser:

Metasekvens

Betydelse i teckenklasser

\n

Matchar ett radmatningstecken.

\r

Matchar ett vagnreturstecken.

\t

Matchar ett tabbtecken.

\u nnnn

Matchar tecknet med den angivna Unicode-kodpunkten såsom den uttrycks hexadecimalt med nnnn .

\\x nn

Matchar tecknet med det angivna ASCII-värdet såsom det uttrycks hexadecimalt med nn .

Andra reguljära uttryck för metasekvenser och metatecken hanteras i en teckenklass som vanliga tecken.

Teckenintervall i teckenklasser

Använd bindestreck för att ange teckenintervall, t.ex. A-Z , a-z eller 0-9 . Dessa tecken måste utgöra ett giltigt intervall i teckenuppsättningen. Följande teckenklass matchar alla tecken i intervallet a-z och alla siffror:

/[a-z0-9]/

Du använder ASCII-teckenkoden \\x nn för att ange ett intervall för ASCII-värden. Följande teckenklass matchar alla tecken från en uppsättning av den utökade ASCII-teckenuppsättningen (t.ex. é och ê ):

\\x

Negerade teckenklasser

När du använder ett cirkumflex ( ^ ) i början av en teckenklass kommer klassen att negeras, dvs. alla tecken som inte finns med i listan betraktas som en matchning. Följande teckenklass matchar alla tecken med undantag för ett gement tecken ( a–z ) eller en siffra:

/[^a-z0-9]/

Du måste skriva cirkumflexet ( ^ ) i början av en teckenklass för att indikera negationen. Du kan annars lägga till cirkumflexet till tecknen i teckenklassen. Följande teckenklass matchar symbolerna, inklusive cirkumflexet:

/[!.,#+*%$&^]/