regexp(5)
Die Funktion
s t e p
Zeichenkette string eine Teilzeichenkette gefunden wird, die zu dem regulären Aus
druck in expbuf paßt. Andernfalls gibt sie Null zurück. Im Erfolgsfall werden durch
den Aufruf von
sorgt: Der Zeiger l o c i verweist auf das erste Zeichen der gefundenen Teilzeichenk
ette, während lo c2 auf das erste Zeichen hinter der gefundenen Zeichenreihe zeigt.
Für den Fall, daß die gesamte untersuchte Zeichenkette zu dem regulären Ausdruck
paßt, gilt damit folgendes: l o c i zeigt auf das erste Zeichen von string und loc2
zeigt auf das abschließende Nullzeichen von string.
Die Funktion
Anfangsteilzeichenkette von string zu dem regulären Ausdruck in expbuf paßt. In
diesem Fall wird über einen Seiteneffekt ein externer Zeiger loc2 so gesetzt, daß er
auf das erste Zeichen hinter der gefundenen Teilzeichenkette zeigt.
Trifft die Funktion
die Sequenz \ { \}, versetzt sie ihren Zeiger auf die zu untersuchende Zeichenkette
so weit als möglich nach vom und ruft sich selbst iterativ auf, um zu prüfen, ob die
restliche Zeichenreihe zum Rest des regulären Ausdrucks paßt. Solange keine
Übereinstimmung gefunden wird, setzt
ette auf, bis eine Übereinstimmung auftritt oder der Punkt erreicht wird, ab dem
die Teilzeichenkette zu * oder \{ \] gepaßt hat. Manchmal ist es wünschenswert,
daß das Neuaufsetzen vor Erreichen dieses Punkts gestoppt wird. Wird während
des Neuaufsetzens an einem Punkt festgestellt, daß der externe Zeiger
diesen verweist, verläßt
Die Namen der externen Variablen
EXIT-CODES
Bei fehlerfreiem Ablauf benutzt die Funktion
Fehlerfall das Makro
tionen
und
s t e p
11
Bereich zu groß.
16
Falsche Zahl.
25
\ Ziffer ungültig.
3 6
Falsches oder fehlendes Trennzeichen.
41
Kein Suchstring gespeichert.
42
\( \) unpaarig.
43
Zu viele \(.
44
Mehr als zwei Zahlen in \ { \}.
45
} erwartet nach \.
46
Erste Zahl in \ { \} ist größer als zweite.
49
[ ] unpaarig.
50
Überlauf bei der Berechnung des regulären Ausdrucks.
5-34
gibt einen von Null verschiedenen Wert zurück, wenn in der
zwei externe Zeiger über einen Seiteneffekt mit Adressen ver
s t e p
gibt einen von Null verschiedenen Wert zurück, falls die
a d v a n c e
in dem regulären Ausdruck auf das Zeichen * oder auf
a d v a n c e
die Schleife und gibt Null zurück.
a d v a n c e
circf, s e d
(siehe oben). Bei einem Treffer geben die beiden Funk
E R R O R
einen Wert ungleich Null zurück, sonst Null. Fehlerfälle:
a d v a n c e
rückwärts neu auf der Zeichenk
a d v a n c e
und
sind reserviert.
n b r a
das Makro
c o m p i l e
regexp(5)
auf
l o c s
im
RETURN,
04/92