SYNOPSIS
        int strrstr(string str, string muster)
        int strrstr(string str, string muster, int pos)
        int strrstr(bytes  str, bytes  muster)
        int strrstr(bytes  str, bytes  muster, int pos)

BESCHREIBUNG:
        Liefert den Index des ersten Auftretens von <muster> im String <str>,
        ausgehend von der Position <pos> her rueckwaerts gesucht. Wird <pos>
        nicht angegeben, wird als Standard -1 gesetzt, was dem Ende von <str>
        entspricht. Mit anderen Worten: die Funktion liefert den Index des
        letzten Auftretens von <muster> vor <pos>.

        Der Index, der zurueck gegeben wird, ist relativ zum Beginn des
        Strings <str>.

        Wenn <muster> nicht in <str> gefunden wird, wird -1 zurueck gegeben.

        Wenn <pos> negativ ist, bezeichnet <pos> den Index vom Ende des
        Strings aus gezaehlt. Dabei wird die Suche aber dennoch rueckwaerts
        im String <str> durchgefuehrt.

GESCHICHTE
        Eingefuehrt in LDMud 3.2.10.

SIEHE AUCH
        strstr(E), strlen(E), sscanf(E), sprintf(E), explode(E)
