Skip to content
Terug naar boven

# Reguliere expressies

Reguliere expressies beschrijven patronen in strings die kunnen worden gebruikt om te bepalen of een bepaald patroon in een tekst voorkomt of niet.

In TreeSize kunnen reguliere expressies worden gebruikt om specifieke bestanden en/of mappen te vinden die voldoen aan de criteria die door reguliere expressies zijn opgegeven. Een lijst van speciale tekens wordt ondersteund.

De volgende tabel toont enkele van de meest gebruikte syntaxissen en biedt een paar voorbeelden:

Expressie | Syntaxis | Beschrijving | Voorbeeld
--- | --- | --- | ---
Elk teken | `.` | Komt overeen met elk enkel teken, behalve een regelafbreking. | `a.o` komt overeen met “aro” in “around” en “abo” in “about”, maar niet met “acro” in “across”.
Nul of meer | `*` | Komt overeen met nul of meer voorkomens van de voorafgaande expressie en maakt alle mogelijke overeenkomsten. | `a*b` komt overeen met “b” in “bat” en “ab” in “about”. `e.*e` komt overeen met het woord “enterprise”.
Een of meer | `+` | Komt overeen met ten minste één voorkomen van de voorafgaande expressie. | `ac+` komt overeen met woorden die de letter “a” gevolgd door ten minste één instantie van “c” bevatten, zoals “race” en “ace”. `a.+s` komt overeen met het woord “access”.
Begin van de string | `^` | Komt overeen met het begin van een string. | `^[0-9]` komt overeen met strings die beginnen met een cijfer.
Einde van de string | `$` | Komt overeen met het einde van een string. | `exe$` komt overeen met strings die eindigen op “exe”.
Begin van het woord | `[[:<:]]` | Past alleen wanneer een woord op dit punt in de tekst begint. | `[[:<:]]in` komt overeen met woorden zoals “inside” en “into” die beginnen met de letters “in”.
Einde van het woord | `[[:>:]]` | Komt alleen overeen als een woord op dit punt in de tekst eindigt. | `ss[[:>:]]` komt overeen met woorden zoals “across” en “loss” die eindigen op de letters “ss”.
Elk teken in de set | `[]` | Past bij elk van de karakters in de []. Om een bereik van karakters op te geven, vermeld je de begin- en eindkarakters gescheiden door een streepje (-), zoals in [a-z]. | `be[n-t]` past bij “bet” in “between”, “ben” in “beneath”, en “bes” in “beside” maar niet “bel” in “below”.
Elk teken dat niet in de set staat | `[^...]` | Past bij elk teken dat niet in de set van karakters staat die volgt op de `^`. | `be[^n-t]` past bij “bef” in “before”, “beh” in “behind”, en “bel” in “below”, maar niet “ben” in “beneath”.
Of | `|` | Komt overeen met de expressie vóór of de expressie na het OF-symbool (|). Meestal gebruikt in een groep. | `(spons|mod)` komt overeen met “sponsbad” en “modderbad”.
Escape-teken | `\` | Komt overeen met het teken dat volgt op de backslash (`\`) als een letterlijke waarde. Dit stelt je in staat om de tekens te vinden die worden gebruikt in reguliere expressie-notatie, zoals `{` en `^`. | `\^` zoekt naar het `^`-teken.
Herhaal n keer | `{n}` | Komt overeen met n voorkomens van de voorafgaande expressie. | `[0-9]{4}` komt overeen met elke 4-cijferige reeks.
Groepering | `()` | Stelt je in staat om een set expressies samen te groeperen. Als je naar twee verschillende expressies in één zoekopdracht wilt zoeken, kun je de Groeperingsexpressie gebruiken om ze te combineren. | Als je wilt zoeken naar `[a-z][1-3]` of `[0-9][a-z]`, zou je ze combineren: `([a-z][1-3])|([0-9][a-z])`.

## Meer voorbeelden

Reguliere Expressie | Voorbeelden
--- | ---
`[0-9]` of `\d` | Vind alle bestanden/mappen met ten minste één cijfer in hun naam.
`a|b` | Vind alle bestanden/mappen die “a” of “b” in hun naam bevatten.
`[^(A-Za-z)]` | Vind alle bestanden/mappen die ten minste één teken in hun naam bevatten dat niet in het bereik A-Z of a-z ligt.
`^E[0-9]{7}$` | Vind alle bestanden/mappen die beginnen met een “E” gevolgd door precies 7 cijfers.
`[A-Za-z]:\\([^\\]+\\){2,4}[^\\]+$` | Vind alle bestanden/mappen met een mapdiepte van ten minste 2 en maximaal 4.
`[^\x00-\x7F]` | Vind alle bestanden/mappen met ongeldige ASCII-tekens.
`[^\P{C}]` | Vind alle bestanden/mappen met Unicode-tekens die niet kunnen worden afgedrukt.
`[\xA0]` | Vind alle bestands-/mapnamen die het niet-afbreekbare spatie-teken (Unicode NOBR, U+00A0) bevatten in plaats van een normaal spatie-teken.
`[~\""#%&\*\:<>\?\/\\{|}]` | Vind alle bestands- en mapnamen die tekens bevatten die ongeldig zijn op SharePoint-servers.
`^\s+.*` | Vind alle bestanden en mappen waarvan de naam met een spatie begint.
`\s+(\.[^.]+)$` | Zoek bestanden met een extensie die een spatie aan het einde van hun naam heeft.
`.*\s+$` | Zoek mappen met een spatie aan het einde van hun naam.

## Hulpmiddelen voor het maken van reguliere expressies

https://regex101.com/ (online)

http://regexpal.com/ (online)

http://sourceforge.net/projects/regexpeditor/ (download)

http://sourceforge.net/projects/regextester/ (download)

http://sourceforge.net/projects/regaxe/ (download)