Regex

Een reguliere expressie (regex) is een zoekpatroon waarmee je tekst kunt doorzoeken, valideren en bewerken. Regex wordt gebruikt in grep, sed, awk, editors en programmeertalen.

Veelgebruikte tekens

PatroonBetekenis
.Elk teken (behalve newline)
*Nul of meer van het vorige teken
+Één of meer van het vorige teken
?Nul of één van het vorige teken
^Begin van de regel
$Einde van de regel
[abc]Één van de tekens a, b of c
[^abc]Alles behalve a, b of c
\dCijfer (in extended regex)
\wWoord-teken (letter, cijfer, underscore)

Voorbeelden

grep "^ERROR" app.log           # regels die beginnen met ERROR
grep "[0-9]\{3\}" bestand.txt   # regels met drie cijfers op rij
grep -E "cat|dog" tekst.txt     # cat of dog (extended regex)
sed 's/foo/bar/g' bestand.txt   # alle "foo" vervangen door "bar"

BRE vs ERE

  • BRE (Basic Regex) — standaard in grep en sed, + en ? met backslash escapen
  • ERE (Extended Regex) — met grep -E of egrep, cleaner syntax

Zie ook

  • grep — zoeken met regex
  • sed — tekst vervangen met regex
  • awk — tekst verwerken met regex
linuxtekst