Skip to main content
Workday User Guide
Laatst bijgewerkt: 2023-06-23
Reguliere tekenklassen

Reguliere tekenklassen

Tekenklasseconstructies

Met een tekenklasse kunt u een set tekens opgeven, tussen vierkante haken, waarmee één enkele tekenmatch kan worden gegenereerd. Een tekenklasse matcht met slechts één teken. Bijvoorbeeld
gr[ae]y
matcht met
gray
of
grey
, maar niet naar
graay
of
graey
. De volgorde van de tekens tussen de haakjes maakt niet uit.
U kunt een koppelstreepje binnen een tekenklasse gebruiken om een tekenbereik op te geven. Voorbeeld:
[a-z]
matcht met één kleine letter tussen
a
and
z
. U kunt ook meer dan één bereik gebruiken, of een combinatie van bereikwaarden en enkele tekens. Voorbeeld:
[0-9X]
matcht met een cijfer of letter
X
. De volgorde van de tekens en het bereik is niet van belang.
Een dakje na een haakje openen geeft tekens aan die van een match moeten worden uitgesloten. Bijvoorbeeld
[^abc]
komt overeen met elk teken behalve
a
,
b
, of
c
.
Construct
Type
Omschrijving
[
abc
]
Eenvoudig
Matches
a
of
b
of
c
[^abc]
Negatie:
Komt overeen met elk teken behalve
a
of
b
of
c
[a-zA-Z]
Bereik
Matches
a
t/m
z
, of
A
t/m
Z
(inclusief)
[a-d[m-p]]
Vakbond
Matches
a
t/m
d
, of
m
t/m
p
[a-z&&[def]]
Intersectie
Matches
d
,
e
, of
f
[a-z&&[^xq]]
Aftrekken
Matches
a
t/m
z
, behalve
x
and
q

Vooraf gedefinieerde tekenklassen

Vooraf gedefinieerde tekenklassen zijn handige afkortingen voor veelgebruikte reguliere expressies.
Construct
Omschrijving
Voorbeeld
.
Komt overeen met elk afzonderlijk teken (behalve newline)
.at
matcht met 'cat', 'hat' en ook 'bat' in de woordgroep 'batchbestanden'
\d
Komt overeen met een willekeurig cijfer (equivalent aan
[0-9]
)
\d
matcht met 3 in C3PO en 2 in file_2.txt
\D
Komt overeen met alle tekens zonder cijfers (equivalent aan
[^0-9]
)
\D
komt overeen met 'S' in '900S' en 'Q' in 'Q45'
\s
Komt overeen met één witruimteteken (equivalent aan
[ \t\n\x0B\f\r]
)
\sbook
komt overeen met 'book' in 'blauw boek', maar niets in 'notebook'
\S
Komt overeen met elk afzonderlijk teken zonder witruimte
\Sbook
komt overeen met 'book' in 'notebook', maar niets in 'blauw boek'
\w
Komt overeen met alle alfanumerieke tekens, inclusief onderstrepingstekens (equivalent aan
[A-Za-z0-9_]
)
r\w*
komt overeen met 'rm' en 'root'
\W
Komt overeen met alle niet-alfanumerieke tekens (equivalent aan
[^A-Za-z0-9_]
)
\W
matcht met '&' in 'stmd &', '%' in '100%' en '$' in '$HOME'

POSIX-tekenklassen (US-ASCII)

POSIX heeft een set tekenklassen die bepaalde gemeenschappelijke bereikwaarden aangeven. Ze zijn vergelijkbaar met klassen van haakjes en vooraf gedefinieerde tekenklassen, behalve dat ze rekening houden met de landinstelling (de lokale taal/het lokale coderingssysteem).
Construct
Omschrijving
\p{Lower}
een kleine letter,
[a-z]
\p{Upper}
een hoofdletter,
[A-Z]
\p{ASCII}
Een ASCII-teken,
[\x00-\x7F]
\p{Alpha}
Een alfabetisch teken,
[a-zA-z]
\p{Digit}
Een cijfer,
[0-9]
\p{Alnum}
een alfanumeriek teken,
[a-zA-z0-9]
\p{Punct}
Een leesteken, een van
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
\p{Graph}
Een zichtbaar teken,
[\p{Alnum}\p{Punct}]
\p{Print}
Een afdrukbaar teken,
[\p{Graph}\x20]
\p{Blank}
Een spatie of tabblad,
[ t]
\p{Cntrl}
Een controleteken,
[\x00-\x1F\x7F]
\p{XDigit}
Een hexadecimaal cijfer,
[0-9a-fA-F]
\p{Space}
Een witruimteteken,
[ \t\n\x0B\f\r]