Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ regex(1F) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

awk(1)

cut(1)

grep(1)

paste(1)

sed(1)

regcmp(3G)

regex(3G)

regex(1F)           (Form and Menu Language Interpreter)          regex(1F)

NAME
     regex - Muster mit einer Zeichenkette vergleichen

SYNTAX
     regex [-e] [-v "string"] [pattern template] ... pattern [template]

BESCHREIBUNG
     Das Kommando regex verwendet eine Zeichenkette von stdin und eine
     Liste mit pattern/template-Paaren und führt regex(3X) aus, um die Zei-
     chenkette mit jedem Muster pattern zu vergleichen, bis eine Überein-
     stimmung gefunden wird. Wenn eine Übereinstimmung gefunden wird,
     schreibt regex die entsprechende Schablone template auf stdout und
     gibt TRUE zurück. Für das letzte (oder einzige) Muster pattern ist
     keine Schablone erforderlich. Wenn dieses Muster mit der Zeichenkette
     übereinstimmt, gibt die Funktion nur TRUE zurück. Wenn keine Überein-
     stimmung gefunden wird, gibt regex FALSE zurück.

OPTIONEN
     -e   regex wertet die entsprechende Schablone aus und schreibt das
          Ergebnis auf stdout.

     -v "string"
          Wenn -v angegeben wird, wird string anstelle von stdin mit
          Mustern verglichen.

     Das Argument pattern ist ein regulärer Ausdruck, wie er unter
     regex(3X) beschrieben wird. In den meisten Fällen sollte pattern in
     Hochkommata gesetzt werden, damit nicht die Sonderbedeutungen der Zei-
     chen verwendet werden. Nur für das letzte Muster pattern in der Liste
     ist kein template erforderlich.

     Das Argument template kann die Zeichenketten $m0 bis $m9 enthalten,
     die auf den Teil von pattern erweitert werden, der in den Konstruktio-
     nen (...)$0 bis (...)$9 eingeschlossen ist (siehe folgende Beispiele).
     Bei der Verwendung dieser Funktion, muß template in Hochkommata
     gesetzt werden, damit FMLI bei der Analyse $m0 bis $m9 nicht erwei-
     tert. Mit dieser Funktion erhält regex einen Großteil des Leistungsum-
     fangs von cut(1), paste(1) und grep(1) und verfügt über einige Funk-
     tionen von sed(1). Wenn keine Schablone template vorhanden ist, ist
     der Standardwert "$m0$m1$m2$m3$m4$m5$m6$m7$m8$m9".

BEISPIELE
     Das folgende Beispiel zeigt, wie Sie den vierten bis achten Buchstaben
     aus einer Zeichenkette ausschneiden. Dieses Beispiel gibt strin aus
     und TRUE zurück:

          `regex -v "my string is nice" '^.{3}(.{5})$0' '$m0'`

     Dieses Beispiel zeigt, wie Sie in einem Formular prüfen, daß die Ein-
     gabe in Feld 5 eine Ganzzahl ist:

          valid=`regex -v "$F5" '^[0-9]+$'`



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

regex(1F)           (Form and Menu Language Interpreter)          regex(1F)

     Dieses Beispiel zeigt, wie Sie in einem Formular eine Umgebungsvaria-
     ble, die eine der Zahlen 1, 2, 3, 4, 5 enthält, in die Buchstaben a,
     b, c, d, e übersetzen:

          value=`regex -v "$VAR1" 1 a 2 b 3 c 4 d 5 e '.*' 'Error'`

     Das Muster '.*' bedeutet hier "alles andere".

     Im folgenden Beispiel bilden alle drei Zeilen einen einzigen Ausdruck
     in rückwärtsgerichteten Hochkommata. Dieser Ausdruck kann alleine in
     eine Menüdefinitionsdatei gestellt werden. Ausdrücke in rückwärtsge-
     richteten Hochkommata werden bei ihrer Analyse erweitert. Die Ausgabe
     eines Ausdrucks in rückwärtsgerichteten Hochkommata wird in die Defi-
     nitionsdatei aufgenommen, die analysiert wird. Im folgenden Beispiel
     würde der Ausdruck die Datei /etc/passwd lesen und ein dynamisches
     Menü aller Anmelde-IDs in diesem System erstellen.

          `cat /etc/passwd | regex '^([^:]*)$0.*$' '
          name=$m0
          action=`message "$m0 is a user"`'`

DIAGNOSE
     Wenn kein übereinstimmendes Muster gefunden wird, gibt regex FALSE
     zurück. Andernfalls wird TRUE zurückgegeben.

HINWEISE
     Muster und Schablonen müssen häufig in Hochkommata eingeschlossen wer-
     den, damit nicht die Sonderbedeutungen der Zeichen verwendet werden.
     Dies gilt vor allem, wenn Sie die Variablen $m0 bis $m9 in der Scha-
     blone verwenden, da FMLI die Variablen (normalerweise auf "") erwei-
     tert, bevor regex diese erkennt.

     Einzelne Zeichen in Zeichenklassen (in []) müssen vor Zeichenbereichen
     aufgelistet werden, da sie andernfalls nicht erkannt werden. Zum Bei-
     spiel werden bei Angabe von [a-zA-Z/] keine Unterstreichungszeichen
     () oder Schrägstriche (/)gefunden, wohl aber bei Angabe von
     [/a-zA-Z].

     Die von regcmp akzeptierten regulären Ausdrücke unterscheiden sich
     etwas von denen anderer Dienstprogramme (zum Beispiel von sed, grep,
     awk oder ed).

     Wenn regex mit der Option -e verwendet wird, werden nachfolgende Kom-
     mandos ignoriert. Das heißt, wenn eine Anweisung in rückwärtsgerichte-
     ten Hochkommata folgendermaßen aussieht:

          `regex -e ...; command1; command2`

     würden command1 und command2 nicht ausgeführt werden. Wird der Aus-
     druck jedoch in zwei Ausdrücke aufgeteilt, wird das gewünschte Ergeb-
     nis erzielt:



Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

regex(1F)           (Form and Menu Language Interpreter)          regex(1F)

          `regex -e ...``command1; command2`

SIEHE AUCH
     awk(1), cut(1), grep(1), paste(1), sed(1), regcmp(3G), regex(3G).


















































Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026