![]() |
|
|
Reguläre AusdrückeIn vielen Programmen werden zum Suchen von Mustern reguläre Ausdrücke verwendet. Beeindruckend ist, dass alle Programme die Ausdrücke gleich interpretieren. Das liegt allerdings nicht in erster Linie an der Harmoniesucht der UNIX-Programmierer, sondern einfach daran, dass UNIX die benötigten Funktionen als Bibliothek zur Verfügung stellt.
Nach POSIX-Standard werden vier Funktionen zur Verfügung gestellt:
Als Beispiel dient hier eine einfache Nachbildung des Programmes
[Regulärer Ausdruck in grep] #include <stdlib.h> #include <stdio.h> #include <regex.h>
int main(int argc, char *argv[]) { char puffer[512]; int i; regex_t regexpr; FILE *fp;
if (argc<3) { printf("Usage: %s regexpression filesn", argv[0]); return -1; } if (regcomp(®expr, argv[1], REG_EXTENDED|REG_NEWLINE)) { printf("Problem beim Ausdruck %sn", argv[1]); return -2; } for (i=2; i<argc; i++) { fp = fopen(argv[i], "r"); if (fp!=NULL) { while (!feof(fp)) { fgets(puffer, sizeof(puffer)-1, fp); if (regexec(®expr, puffer, 0, NULL, 0)==0) { puts(puffer); } } fclose(fp); } } regfree(®expr); return 0; }
|
|
Copyright © Rheinwerk Verlag GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken.
Ansonsten unterliegt das Openbook denselben Bestimmungen wie die gebundene Ausgabe:
Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie
Einspeicherung und Verarbeitung in elektronischen Systemen.
Nutzungsbestimmungen | Datenschutz | Impressum
Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de
Cookie-Einstellungen ändern