De eenvoudigste reguliere expressie komt overeen met een reeks tekens, zoals in het volgende voorbeeld:
var pattern:RegExp = /hello/;
De volgende tekens echter, die metatekens worden genoemd, hebben een speciale betekenis in reguliere expressies:
^ $ \ . * + ? ( ) [ ] { } |
De volgende reguliere expressie bijvoorbeeld komt overeen met de letter A gevolgd door nul of meer instanties van de letter B (de asterisk geeft deze herhaling aan), gevolgd door de letter C:
/AB*C/
Als u een metateken in een reguliere-expressiepatroon wilt opnemen zonder de speciale betekenis, moet u de backslash (
\
) als escape-teken gebruiken. De volgende reguliere expressie komt bijvoorbeeld overeen met de letter A gevolgd door de letter B, gevolgd door een asterisk, gevolgd door de letter C:
var pattern:RegExp = /AB\*C/;
Een
metareeks
heeft, net als een metateken, een speciale betekenis in een reguliere expressie. Een metareeks bestaat uit meer dan een teken. De volgende secties geven informatie over het gebruik van metatekens en metareeksen.
Informatie over metatekens
De volgende tabel geeft een overzicht van de metatekens die u kunt gebruiken in reguliere expressies:
Metateken
|
Beschrijving
|
^
(invoegpunt)
|
Komt overeen met het begin van de tekenreeks. Als de markering
m
(
meerdere regels
) is ingesteld, komt de invoegpunt ook overeen met het begin van een regel (zie
Markeringen en eigenschappen
). Wanneer de invoegpunt wordt gebruikt aan het begin van een tekenklasse, geeft de invoegpunt een negatie aan, niet het begin van een tekenreeks. Zie
Tekenklassen
voor meer informatie.
|
$
(dollarteken)
|
Komt overeen met het einde van de tekenreeks. Als de markering
m
(
meerdere regels
) is ingesteld, komt
$
ook overeen met de positie vóór het teken (
\n
) voor een nieuwe regel. Zie
Markeringen en eigenschappen
voor meer informatie.
|
\
(backslash)
|
Verwijdert de speciale betekenis van metatekens.
Gebruik het backslash-teken ook als u een slash-teken letterlijk wilt gebruiken in een reguliere expressie, zoals in
/1\/2/
(om overeen te komen met teken 1, gevolgd door een slash, gevolgd door het teken 2).
|
.
(punt)
|
Komt overeen met elk willekeurig enkel teken.
Een punt komt alleen overeen met een nieuwe-regelteken (
\n
) als de markering
s
(
dotall
) in ingesteld. Zie
Markeringen en eigenschappen
voor meer informatie.
|
*
(ster)
|
Komt overeen met het vorige item dat nul keer of vaker is herhaald.
Zie
Kwantoren
voor meer informatie.
|
+
(plus)
|
Komt overeen met het vorige item dat een keer of vaker is herhaald.
Zie
Kwantoren
voor meer informatie.
|
?
(vraagteken)
|
Komt overeen met het vorige item dat nul of een keer is herhaald.
Zie
Kwantoren
voor meer informatie.
|
(
en
)
|
Definieert groepen binnen de reguliere expressie. Gebruik groepen voor de volgende handelingen:
-
Het bereik beperken van de verticale balk (|):
/(a|b|c)d/
-
Het bereik bepalen van een kwantor:
/(walla.){1,2}/
-
In terugverwijzingen. De
\1
in de volgende reguliere expressie komt bijvoorbeeld overeen met alles uit de eerste overeenkomende groep tussen haakjes van het patroon:
-
/(\w*) is herhaald: \1/
Zie
Groepen
voor meer informatie.
|
[
en
]
|
Definieert een tekenklasse, die mogelijke overeenkomsten met een afzonderlijk teken definieert:
/[aeiou]/
komt overeen met een van de opgegeven tekens.
Gebruik binnen tekenklassen het koppelteken (
-
) om een reeks tekens op te geven:
/[A-Z0-9]/
komt overeen met A t/m Z in hoofdletters of 0 t/m 9.
Voeg binnen tekenklassen een backslash in om de tekens ] en
- te beschermen:
/[+\-]\d+/
komt ofwel overeen met
+
ofwel
-
vóór een of meer cijfers.
Binnen andere tekenklassen worden andere tekens, normaal gesproken metatekens, behandeld als normale tekens (en niet als metatekens), zonder dat er een backslash moet worden gebruikt:
/[$]/
£ komt ofwel met
$
of
£ overeen.
Zie
Tekenklassen
voor meer informatie.
|
|
(verticale balk)
|
Wordt gebruikt voor een alternatief, om ofwel met het deel links ofwel met het deel rechts overeen te komen:
/abc|xyz/
komt ofwel met
abc
ofwel met
xyz
overeen.
|
Informatie over metareeksen
Metareeksen zijn reeksen tekens met een speciale betekenis binnen een reguliere-expressiepatroon. In de volgende tabel worden deze metareeksen beschreven.
Metareeks
|
Beschrijving
|
{
n
}
{
znw
,}
and
{
n
,
n
}
|
Geeft een numerieke kwantor of een numeriek kwantorbereik voor het vorige item aan:
/A{27}/
komt overeen met het teken
A
dat
27
keer wordt herhaald.
/A{3,}/
komt overeen met het teken
A
dat
3
of meer keer wordt herhaald.
/A{3,5}/
komt overeen met het teken
A
dat
3
tot
5
keer wordt herhaald.
Zie
Kwantoren
voor meer informatie.
|
\b
|
Komt overeen met de positie tussen een woordteken en een teken anders dan een woord. Als het eerste of het laatste teken binnen de tekenreeks een woordteken is, komt het ook overeen met het begin of einde van de tekenreeks.
|
\B
|
Komt overeen met de positie tussen twee woordtekens. Komt ook overeen met de positie tussen twee tekens anders dan voor woorden.
|
\d
|
Komt overeen met een decimaal cijfer.
|
\D
|
Komt overeen met elk teken anders dan een cijfer.
|
\f
|
Komt overeen met een paginadoorvoerteken.
|
\n
|
Komt overeen met het nieuwe-regelteken.
|
\r
|
Komt overeen met het Enter-teken.
|
\s
|
Komt overeen met een willekeurige witruimte (een spatie, tab, nieuwe-regelteken, of Enter-teken).
|
\S
|
Komt overeen met ieder teken anders dan voor witruimte.
|
\t
|
Komt overeen met het tab-teken.
|
\u
nnnn
|
Komt overeen met het Unicode-teken met de tekencode aangeduid door het hexadecimale getal
nnnn
.
\u263a
is bijvoorbeeld het smiley-teken.
|
\v
|
Komt overeen met een verticaal doorvoerteken.
|
\w
|
Komt overeen met een woordteken (
AZ
–,
az
–,
0-9
of
_
). De reeks
\w
komt niet overeen met tekens met accenten, zoals
é
,
ñ
of
ç
.
|
\W
|
Komt overeen met ieder ander teken dan een woordteken.
|
\\x
nn
|
Komt overeen met de aangegeven ASCII-waarde, zoals gedefinieerd door het hexadecimale getal
nn
.
|
|
|
|