Dokumentation zu: regreplace(E)

HR Image


SYNOPSIS
        #include <regexp.h>

        string regreplace(string txt, string pattern,
                          closure|string replacepattern, int flags)

DESCRIPTION
        This function looks through txt looking for the regular
        expression pattern. If it finds it, it replaces it by the
        replacepattern.

        The replacepattern can be a constant string, or a closure taking
        the matched substring and the position at which it was found
        as arguments and returning the replacement pattern string.

        The flag is a bitmask of the usual regexp options. Additionally
        the efun recognizes RE_GLOBAL: if set, the search and replace
        is repeated as often as the pattern matches.

        The function returns the modified string (or the original if it
        wasn't modified).

        The function behaves like the s/pattern/replacepattern/flags
        in editors as ed/vi or sed. The power of this function lies in
        replacing variable strings (as opposed to regexplode, where
        you can explode by regular expression, but not implode...)


EXAMPLES
        string msgin;

        /* Checks msgin for the string 'tells you: ' and all following
         * characters and encloses those characters by <underline>
         * and </underline>. global.
         */
        msgin = regreplace(msgin, "tells you: (.*)",
                 "tells you: <underline>\\1</underline>", 1);

        /* replaces all <underline> html tags by the vt100 escape
         * sequence for underline.
         */
        txt = regreplace(txt, "<underline>", "<ESC>[5m", 1);

        /* Put the word HOUSE into lower case. */
        txt = regreplace(txt, "HOUSE",
                function string (string s) {return lower_case(s);},
                1);


HISTORY
        Introduced in 3.2.1@125.
        The use of a closure as replacepattern was introduced in
        LDMud 3.2.9.

AUTHOR
        Marcus@TAPPMud contributed the original idea for the efun and the
        man page.

SEE ALSO
        regexp(E), regexplode(E), regmatch(E), regexp_package(E),
        sscanf(E), trim(E), regexp(C)

Die Seite ist auch in Deutsch vorhanden.

Start » Magierhandbuch » Docu » Efun » Regreplace Letzte Generierung: 25.04.2021, 01:58
Email an: mud@wl.mud.de
Valid HTML 4.01!