Bijlage D. Reguliere uitdrukkingen
De reguliere uitdrukkingen (of afgekort regex) die worden gebruikt in zoekacties en segmentatieregels zijn die welke worden ondersteund door Java. Als u meer specifieke informatie nodig heeft raadpleeg dan documentatie voor Java Regex. Bekijk de aanvullende verwijzingen en voorbeelden hieronder.
Opmerking
Dit hoofdstuk is bedoeld voor gevorderde gebruikers, die hun eigen varianten van segmentatieregels moeten kunnen definiëren of meer complexe en krachtigere zoeksleutels moeten kunnen opdelen.
Tabel D.1. Regex - Vlaggen
| De constructie... |
...komt overeen met het volgende |
| (?i) |
Schakelt overeenkomen van hoofd-/kleine letters in (standaard is het patroon hoofdletter-gevoelig). |
Tabel D.2. Regex - Teken
| De constructie... |
...komt overeen met het volgende |
| x |
Het teken x, met uitzondering van het volgende... |
| \uhhhh |
Het teken met de hexadecimale waarde 0xhhhh |
| \t |
Het Tab-teken ('\u0009') |
| \n |
Het teken voor een nieuwe regel (line feed) ('\u000A') |
| \r |
Het teken voor een carriage-return ('\u000D') |
| \f |
Het teken voor form-feed ('\u000C') |
| \a |
Het waarschuwingsteken (bel) ('\u0007') |
| \e |
Het escape-teken ('\u001B') |
| \cx |
Het besturingsteken dat overeenkomt met x |
| \0n |
Het teken met de octale waarde 0n (0 <= n <= 7) |
| \0nn |
Het teken met de octale waarde 0nn (0 <= n <= 7) |
| \0mnn |
Het teken met de octale waarde (0 <= m <= 3, 0 <= n <= 7) |
| \xhh |
Het teken met de hexadecimale waarde 0xhh |
Tabel D.3. Regex - Aanhalingen
| De constructie... |
...matches the following |
| \ |
Niets, maar quote het volgende teken. Dit is vereist als u een van de metatekens !$()*+.<>?[\]^{|} zou willen invoeren om overeen te komen als hetzelfde teken. |
| \\ |
Dit is bijvoorbeeld het teken voor een backslash |
| \Q |
Niets, maar quote alle tekens tot \E |
| \E |
Niets, maar beëindigt quoten dat werd gestart door \Q |
Tabel D.4. Regex - Klassen voor Unicode-blokken en categorieën
| De constructie... |
...matches the following |
| \p{InGreek} |
Een teken in het Griekse blok (eenvoudig blok) |
| \p{Lu} |
Een hoofdletter (eenvoudige categorie) |
| \p{Sc} |
Een valutasymbool |
| \P{InGreek} |
Elk teken met uitzondering van die in het Griekse blok (negatie) |
| [\p{L}&&[^\p{Lu}]] |
Elke letter met uitzondering van hoofdletters (subtractie) |
Tabel D.5. Regex - Tekenklassen
| De constructie... |
...matches the following |
| [abc] |
a, b, of c (eenvoudige klasse) |
| [^abc] |
Elk teken met uitzondering van a, b, of c (negatie) |
| [a-zA-Z] |
a tot en met z of A tot en met Z inclusief (bereik) |
Tabel D.6. Regex - Voorgedefinieerde tekenklassen
| De constructie... |
...matches the following |
| . |
Elk teken (met uitzondering van regeleinden) |
| \d |
Een getal: [0-9] |
| \D |
Geen getal: [^0-9] |
| \s |
Een teken voor witruimte: [ \t\n\x0B\f\r] |
| \S |
Een teken niet zijnde witruimte: [^\s] |
| \w |
Een woordteken: [a-zA-Z_0-9] |
| \W |
Een teken voor geen-woord: [^\w] |
Tabel D.7. Regex - Overeenkomsten voor begrenzingen
| De constructie... |
...matches the following |
| ^ |
Het begin van een regel |
| $ |
Het einde van een regel |
| \b |
Een woordgrens |
| \B |
Grens voor geen-woord |
Tabel D.8. Regex - Gulzige parameters
| De constructie... |
...matches the following |
| X
?
|
X, één maal of helemaal niet |
| X
*
|
X, nul of meer keren |
| X
+
|
X, één of meer keren |
Opmerking
Gulzige parameters zullen overeenkomen met zoveel als voor hen mogelijk is. Bijvoorbeeld:
a+
zal overeenkomen met de aaa in
aaabbb
Tabel D.9. Regex - Weigerachtige (niet-gulzige) parameters
| De constructie... |
...matches the following |
| X?? |
X, één maal of helemaal niet |
| X*? |
X, nul of meer keren |
| X+? |
X, één of meer keren |
Opmerking
Weigerachtige (niet-gulzige) parameters zullen overeenkomen met zo weinig als voor hen mogelijk is.
a+?
zal bijvoorbeeld overeen komen met de eerste
a
in
aaabbb
Tabel D.10. Regex - Logische operatoren
| De constructie... |
...matches the following |
| XY |
X gevolgd door Y |
| X|Y |
Of X óf Y |
| (XY) |
XY als een enkele groep |