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.
|
\unnnn
|
Matchar tecknet med den angivna Unicode-kodpunkten såsom den uttrycks hexadecimalt med nnnn.
|
\\xnn
|
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 \\xnn 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:
/[!.,#+*%$&^]/