## Constructies van reguliere uitdrukkingen

De reguliere uitdrukkingen (afgekort tot regex) die worden gebruikt in zoekacties en segmentatieregels zijn die welke worden ondersteund door Java. Als u meer specifieke informatie nodig heeft raadpleeg dan http://java.sun.com/j2se/1.5/docs/api/java/util/regex/Pattern.html. Zie de aanvullende verwijzingen en voorbeelden hieronder.

### Vlaggen | ### Tekens
### Quote | ### Klassen voor Unicode-blokken en categorieën
### Tekenklassen | ### Voorgedefinieerde tekenklassen
### Overeenkomsten voor begrenzingen | ### Gulzige parameters
### Weigerachtige (niet-gulzige) parameters | ### Logische operatoren
### Regex-programma's en voorbeelden van gebruik

### De constructie... | ### ...komt overeen met het volgende:
### Vlaggen
`(?i)` | Schakelt overeenkomen van hoofd-/kleine letters in (standaard is het patroon hoofdlettergevoelig).
### Tekens
`x` | Het teken x, met uitzondering van het volgende...
`\uhhhh` | Het teken met de hexadecimale waarde `0x` hhhh
`\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'`)
`\c` x | Het besturingsteken dat overeenkomt met x
`\0` n | Het teken met de octale waarde `0` n (0 `<=` n `<=` 7)
`\0` nn | Het teken met de octale waarde `0` nn (0 `<=` n `<=` 7)
`\0` mnn | Het teken met de octale waarde `0` mnn (0 `<=` m `<=` 3, 0 `<=` n `<=` 7)
`\x` hh | Het teken met de hexadecimale waarde `0x` hh
### Quote
`\` | 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`
### Klassen voor Unicode-blokken en categorieën
``\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)
### Tekenklassen
`[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)
### Voorgedefinieerde tekenklassen
`.` | 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]`
### Overeenkomsten voor begrenzingen
`^` | Het begin van een regel
`$` | Het einde van een regel
`\b` | Een woordgrens
`\B` | Grens voor geen-woord
### Gulzige parameters
Deze zullen overeenkomen met zoveel als voor hen mogelijk is. `a+` zal bijvoorbeeld overeenkomen met `aaa` in `aaabbb`
X`?` | X, één maal of helemaal niet
X`*` | X, nul of meer keren
X`+` | X, één of meer keren
### Weigerachtige (niet-gulzige) parameters
Deze zullen overeenkomen met zo weinig als voor hen mogelijk is. `a+?` zal bijvoorbeeld overeen komen met de eerste `a` in `aaabbb`
X`??` | X, één maal of helemaal niet
X`*?` | X, nul of meer keren
X`+?` | X, één of meer keren
### Logische operatoren
XY | X gevolgd door Y
X`|`Y | Of X óf Y
`(`XY`)` | XY als een enkele groep

## Regex-programma's en voorbeelden van gebruik

Er zijn een aantal interactieve programma's beschikbaar om reguliere uitdrukkingen te ontwikkelen en te testen. Zij volgen bijna allemaal hetzelfde patroon (zie hieronder voor een voorbeeld in de vorm van een plug-in voor Firefox): de reguliere uitdrukking (bovenste item) analyseert de zoektekst (Tekstvak in het midden), hetgeen de hits oplevert die worden weergegeven in het tekstvak resultaten.
Zie The Regex Coach voor Windows, Linux, Mac, FreeBSD versies van een zelfstandig programma, dat bijna identiek is aan het hierboven vermelde voorbeeld.
Een fijne collectie van bruikbare regex-gevallen kan in OmegaT zelf worden gevonden (zie Opties > Segmentatie). De volgende lijst bevat uitdrukkingen die u misschien handig vindt bij het zoeken in een vertaalgeheugen:

Reguliere uitdrukking | Vindt het volgende:
(\b\w+\b)\s\1\b | dubbele woorden
[\.,]\s*[\.,]+ | mix van komma's en punten
\. \s$ | extra witruimte die volgt op de punt aan het einde van een regel
\s+a\s+[aeiou] | Engels: woorden, beginnend met een klinker, zouden moeten worden voorafgegaan door "an", niet "a"
\s+an\s+[^aeiou] | Engels: dezelfde controle als hierboven maar dan voor medeklinkers ("a", niet "an")
\s\s+ | meer dan één spatie
\.[A-Z] | spatie ontbreekt tussen een punt en het begin van een nieuwe zin

Auteursrechten | Home | Inhoudsopgave