Vordefinierte Bereiche

Die meisten Bibliotheken für reguläre Ausdrücke definieren besondere Kürzel für oft vorkommende Bereiche, sodass Sie sie nicht jedesmal ausschreiben müssen. An dieser vorsichtigen Formulierung merken Sie schon, dass es sich dabei um keinen universalen Standard handelt …

Die wichtigsten vordefinierten Bereiche finden Sie in Tabelle 2 zusammengestellt. Dabei sind zum Einen die so genannten POSIX-Charakterklassen angegeben, die in vielen Engines erlaubt sind, unter anderem in grep oder Perl. Zum Anderen finden Sie in der Tabelle auch die Perl-eigenen Kürzel: Diese sind etwas kryptischer, aber dafür viel tastaturfreundlicher.

Tabelle 2: Von POSIX und Perl vordefinierte Bereiche

POSIX-Charakterklasse Bereichskürzel in Perl Bedeutung
[[:digit:]] \d "Zahl": eine Ziffer von 0 bis 9
[^[:digit:]] \D "keine Zahl": alles außer den Ziffern
[[:alpha:]]   "alphabetisch": Buchstaben (einschließlich ortsüblicher Sonderzeichen: Umlaute, akzentuierte Zeichen und Ähnliches)
[[:alnum:]]   "alphanumerisch": Buchstaben und Zahlen
[[:word:]] \w "Wort": alphanumerisches Zeichen oder Unterstrich "_" (gehört nicht zu POSIX!)
[^[:word:]] \W "nicht Wort": weder alphanumerisch noch Unterstrich
[[:lower:]]   Kleinbuchstaben
[[:upper:]]   Großbuchstaben
[[:punct:]]   Interpunktionszeichen
[[:space:]] \s "Whitespace": Leerzeichen, Tabstopp oder Zeilenumbruch, bei POSIX auch der seltene senkrechte Tabstopp
[^[:space:]] \S "kein Whitespace": alles außer Leerzeichen, Tabstopp oder Zeilenumbruch
[[:blank:]]   "waagerechter Whitespace": Leerzeichen oder Tabstopp

Ihr großer Vorteil gegenüber handgestrickten Bereichen wie [a-zA-Z]: Die vordefinierten Versionen berücksichtigen in der Regel die Locale, sodass beispielsweise in Deutschland auch Umlaute oder Vokale mit Akzent zu den alphanumerischen Zeichen gerechnet werden.

Ein zweiter großer Vorteil ist unter Linux wohl irrelevant: Theoretisch wären ASCII-inkompatible Zeichensätze denkbar, in denen beispielsweise die Buchstaben des Alphabets nicht unmittelbar aufeinander folgen oder nicht korrekt sortiert sind. "[a-z]" enthielte dann möglicherweise nicht alle Buchstaben, dafür eventuell aber noch Sonderzeichen. [[:lower:]] enthält garantiert alle Kleinbuchstaben und nichts anderes, egal, welcher Zeichensatz verwendet wird.

Sonderzeichen

Bei den meisten Implementationen regulärer Ausdrücke dürfen Sie Sonderzeichen (Umlaute, Tabstopps, Steuerzeichen usw.) benutzen. Schreiben Sie diese direkt in die Regexp hinein. Wenn das zu unpraktisch ist (z. B. weil ein Tabstopp in einem Programmlisting optisch nicht von Leerzeichen zu unterscheiden ist), verwenden Sie die in C und den meisten Shells übliche Notation, zum Beispiel \t für einen Tabstopp. Wenn Sie nach einem Backslash suchen, verdoppeln Sie ihn: \\.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Praktisch und nützlich: AWK
    Ein Unix-Rechner erschlägt den Anwender förmlich mit kleinen Helferlein, die ihm so gerne zu Diensten wären. Leider lassen sie sich nicht immer ganz problemlos bedienen. Die Textbearbeitungssprache AWK ist ein typisches Beispiel.
  • Zu Befehl: Suchen mit grep, egrep, fgrep, (b)zgrep
    Für die Suche nach Wörtern und Ausdrücken in Textdateien bieten sich die Kommandos der grep-Familie an. Als Ergebnis zeigen sie wahlweise die gefundenen Zeilen, die Namen der Dateien, in denen das Suchmuster vorkommt, oder die Anzahl der Treffer an.
  • The Answer Girl
    Dass der Computeralltag auch unter Linux immer wieder für Überraschungen gut ist, ist eher eine Binsenweisheit: Immer wieder funktionieren Dinge nicht oder nicht so, wie eigentlich angenommen. Das Answer-Girl im Linux-Magazin zeigt, wie man mit solchen Problemchen elegant fertig wird.
  • Gut gefiltert
    Zu den häufigsten Aufgaben bei der Arbeit am Rechner zählt das Durchstöbern von Texten nach Suchmustern. Icgrep bietet hier eine moderne, parallel arbeitende und Unicode-fähige Alternative zum klassischen Grep.
  • Erste Schritte mit Regular Expressions
    Computer erleichtern die Arbeit – man muss ihnen nur genau sagen, was sie tun sollen. Mit regulären Ausdrücken beschleunigen Sie das Suchen und Ersetzen von Zeichenketten auf elegante Art.
Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...