Tekenklassen

Flash Player 9 of hoger, Adobe AIR 1.0 of hoger

Tekenklassen gebruikt u om een lijst op te geven met tekens die overeen moeten komen met een positie in de reguliere expressie. Tekenklassen definieert u door middel van vierkante haakjes ( [ en ] ). De volgende reguliere expressie definieert bijvoorbeeld een tekenklasse die overeenkomt met bag , beg , big , bog of bug :

/b[aeiou]g/

Escape-reeksen in tekenklassen

De meeste metatekens en metareeksen, die normaal gesproken een speciale betekenis hebben binnen een reguliere expressie, hebben niet dezelfde betekenis binnen een tekenklasse. In een reguliere expressie bijvoorbeeld wordt de asterisk gebruikt voor herhalingen; dit is echter niet het geval wanneer de asterisk binnen een tekenklasse verschijnt. De volgende tekenklasse komt letterlijk overeen met de asterisk, samen met de andere opgenomen tekens:

/[abc*123]/

De drie tekens echter die zijn opgenomen in de volgende tabel, functioneren als metatekens met een speciale betekenis in tekenklassen:

Metateken

Betekenis in tekenklassen

]

Definieert het einde van de tekenklasse.

-

Hiermee wordt een tekenbereik gedefinieerd (zie de volgende sectie, Tekenbereiken binnen tekenklassen).

\

Hiermee worden metareeksen gedefinieerd en wordt de speciale betekenis van metatekens ongedaan gemaakt.

Om ervoor te zorgen dat deze tekens worden herkend als letterlijke tekens (zonder de speciale betekenis behorend bij het metateken), laat u het teken voorafgaan door een backslash. De volgende reguliere expressie bijvoorbeeld bevat een tekenklasse die overeenkomt met elk van de volgende vier symbolen ( $ , \ , ] of - ):

/[$\\\]\-]/

Naast de metatekens, die hun speciale betekenis behouden, functioneren de volgende metareeksen als metareeksen binnen tekenklassen:

Metareeks

Betekenis in tekenklassen

\n

Komt overeen met een nieuwe-regelteken.

\r

Komt overeen met een Return-teken.

\t

Komt overeen met een tab-teken.

\u nnnn

Komt overeen met het Unicode-teken met de tekencode aangeduid door het hexadecimale getal nnnn ).

\\x nn

Komt overeen met de ASCII-waarde aangeduid door het hexadecimale getal nn ).

Andere metareeksen en metatekens binnen reguliere expressies worden behandeld als normale tekens binnen een tekenklasse.

Tekenbereiken binnen tekenklassen

Gebruik het koppelteken om een tekenbereik aan te geven, zoals A-Z , a-z of 0-9 . Deze tekens moeten een geldig bereik binnen de tekenset vormen. De volgende tekenklasse komt bijvoorbeeld overeen met elk van de tekens binnen het bereik a-z of elk willekeurig cijfer:

/[a-z0-9]/

U kunt ook de ASCII-tekencode \\x nn gebruiken om een bereik met ASCII-waarde op te geven. De volgende tekenklasse komt overeen met elk teken uit een uitgebreide set ASCII-tekens (zoals é en ê ):

\\x

Genegeerde tekenklassen

Wanneer u een invoegpunt gebruikt ( ^ ) aan het begin van een tekenklasse, wordt deze klasse door dit teken genegeerd: elk willekeurig teken dat niet is opgenomen, wordt als overeenkomend beschouwd. De volgende tekenklasse komt overeen met elk willekeurig teken behalve voor een kleine letter ( az –) of een cijfer:

/[^a-z0-9]/

Typ het invoegteken ( ^ ) aan het begin van een tekenklasse om de negatie aan te geven. Anders voegt u het invoegteken eenvoudig toe aan de tekens in de tekenklasse. De volgende tekenklasse bijvoorbeeld komt overeen met elk willekeurig aantal symbooltekens, waaronder de invoegpunt:

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