ldmud-3.3.719/
ldmud-3.3.719/doc/
ldmud-3.3.719/doc/efun.de/
ldmud-3.3.719/doc/efun/
ldmud-3.3.719/doc/man/
ldmud-3.3.719/doc/other/
ldmud-3.3.719/mud/
ldmud-3.3.719/mud/heaven7/
ldmud-3.3.719/mud/lp-245/
ldmud-3.3.719/mud/lp-245/banish/
ldmud-3.3.719/mud/lp-245/doc/
ldmud-3.3.719/mud/lp-245/doc/examples/
ldmud-3.3.719/mud/lp-245/doc/sefun/
ldmud-3.3.719/mud/lp-245/log/
ldmud-3.3.719/mud/lp-245/obj/Go/
ldmud-3.3.719/mud/lp-245/players/lars/
ldmud-3.3.719/mud/lp-245/room/death/
ldmud-3.3.719/mud/lp-245/room/maze1/
ldmud-3.3.719/mud/lp-245/room/sub/
ldmud-3.3.719/mud/lp-245/secure/
ldmud-3.3.719/mud/sticklib/
ldmud-3.3.719/mud/sticklib/src/
ldmud-3.3.719/mudlib/deprecated/
ldmud-3.3.719/mudlib/uni-crasher/
ldmud-3.3.719/pkg/
ldmud-3.3.719/pkg/debugger/
ldmud-3.3.719/pkg/diff/
ldmud-3.3.719/pkg/misc/
ldmud-3.3.719/src/
ldmud-3.3.719/src/autoconf/
ldmud-3.3.719/src/ptmalloc/
ldmud-3.3.719/src/util/
ldmud-3.3.719/src/util/erq/
ldmud-3.3.719/src/util/indent/hosts/next/
ldmud-3.3.719/src/util/xerq/
ldmud-3.3.719/src/util/xerq/lpc/
ldmud-3.3.719/src/util/xerq/lpc/www/
ldmud-3.3.719/test/generic/
ldmud-3.3.719/test/inc/
ldmud-3.3.719/test/t-0000398/
ldmud-3.3.719/test/t-0000548/
ldmud-3.3.719/test/t-030925/
ldmud-3.3.719/test/t-040413/
ldmud-3.3.719/test/t-041124/
ldmud-3.3.719/test/t-language/
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...)

EXAMPLE
        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", #'lower_case, 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)