# EXSLT - regexp:replace

Implementer Page: regexp.replace.html Function Package: regexp.replace.zip #### Function Syntax
    string regexp:replace(string, string, string, string)
The `regexp:replace` function replaces the parts of a string that match a regular expression with another string. The first argument is the string to be matched and replaced. The second argument is a regular expression that follows the Javascript regular expression syntax. The fourth argument is the string to replace the matched parts of the string. The third argument is a string consisting of character flags to be used by the match. If a character is present then that flag is true. The flags are: `g`: global replace - all occurrences of the regular expression in the string are replaced. If this character is not present, then only the first occurrence of the regular expression is replaced. `i`: case insensitive - the regular expression is treated as case insensitive. If this character is not present, then the regular expression is case sensitive. ## Implementations The following XSLT processors support `regexp:replace`: 4XSLT, from 4Suite. (version 0.12.0a3) Implementations of `regexp:replace` are available in the following languages: Javascript (by Chris Bayes) Msxsl (by Chris Bayes) ## Examples ### Function The following example shows how to use the `regexp:replace` function: #### Source
    <a>
       <c>Is this EXSLT? No. no</c>
    </a>
#### Stylesheet
    <xsl:template match="a">
       <xsl:apply-templates />
    </xsl:template>
    <xsl:template match="*">
       <out>
          <xsl:value-of select="." />
     -
                   <xsl:value-of select="regexp:replace(string(.), 'no', 'g', 'yes!!!')" />
          <xsl:value-of select="regexp:replace(string(.), 'no', 'gi', 'yes!!!')" />
          <xsl:apply-templates select="*" />
       </out>
    </xsl:template>
#### Result
    <out>Is this EXSLT? No. no -
             Is this EXSLT? No. yes!!!Is this EXSLT? yes!!!. yes!!!</out>

http://www.exslt.org/regexp/functions/replace/index.html last modified 2002-11-12