Lpc Manpages

SYNOPSIS
        string * regexp(string *list, string pattern)

BESCHREIBUNG
        Liefert ein neues Array mit all jenen Strings aus list zurueck,
	welche auf das Muster pattern passen. Diese Funktion verwendet
	dieselbe Syntax fuer regulaere Ausdruecke wie ed():

        . Passt auf jedes beliebige Zeichen.

        ^ Passt auf den Beginn einer Zeichenkette.

        $ Passt auf das Ende einer Zeichenkette.

        \< Passt auf das Beginn eines Wortes.

        \> Passt auf das Ende eines Wortes.

        \B Passt auf eine leere Zeichenkette an einem Wortrand
	   (sollte aehnlich wie das Symbol zur Emacs-Kompatibilitaet in
	   GNU egrep sein), seit 3.2@249

        x|y Passt entweder auf den regulaeren Ausdruck x oder y.

        () Verwendet den eingeschlossenen regulaeren Ausdruck wie einen
	   'simplen' Ausdruck.

        x* Der regulaere Ausdruck x passt beliebig oft (0 oder mehr).

        x+ Der regulaere Ausdruck x passt mindestens einmal (1 oder mehr).

        [..] Passt auf jedes in den Klammern eingeschlossenes Zeichen.

        [^ ..] Passt auf jedes Zeichen, welches nicht in den Klammern
	       eingeschlossen ist. Das .. ist durch einzelne Zeichen oder
	       Bereiche von Zeichen zu ersten:
        [abc] Passt auf a, b oder c.
        [ab0-9] Passt auf a, b, c oder eine beliebige Ziffer.
        [^a-z] Passt auf keinen klein geschriebenen Buchstaben.

        \c Passt auf das Zeichen c, selbst wenn es eines der Sonderzeichen ist.

        Wenn es einen Fehler im regulaeren Ausdruck gibt, wird ein
	Laufzeitfehler ausgeloest.

BEISPIELE
        string strs;
        if (strs = regexp(({ "Bitte helfen sie mir, Sir John." }),
                          "\\<helfen\\>.*\\<mir\\>")) {
           if (sizeof(strs)
              write("Es passt.\n");
        }

        Der regulaere Ausdruck wird den uebergebenen String (welcher in
	einem Array verpackt wurde) daraufhin ueberpruefen, ob
	sowas wie "helfen ... mir" darin vorkommt.

GESCHICHTE
        LDMud 3.2.9 fuegte das Sonderzeichen '+' hinzu.

SIEHE AUCH
        regexplode(E), regreplace(E), sscanf(E)