Package net.sf.saxon.regex

## Interface RegularExpression

- All Known Implementing Classes:
    `ARegularExpression`, `JavaRegularExpression`

      public interface RegularExpression

  This interface represents a compiled regular expression. There are different implementations for different regex engines

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `RegexIterator` | `analyze​(java.lang.CharSequence input)` | Use this regular expression to analyze an input string, in support of the XSLT analyze-string instruction.
    `boolean` | `containsMatch​(java.lang.CharSequence input)` | Determine whether the regular expression contains a match of a given string
    `java.lang.String` | `getFlags()` | Get the flags used at the time the regular expression was compiled.
    `boolean` | `matches​(java.lang.CharSequence input)` | Determine whether the regular expression matches a given string in its entirety
    `java.lang.CharSequence` | `replace​(java.lang.CharSequence input, java.lang.CharSequence replacement)` | Replace all substrings of a supplied input string that match the regular expression with a replacement string.
    `java.lang.CharSequence` | `replaceWith​(java.lang.CharSequence input, java.util.function.Function<java.lang.CharSequence,​java.lang.CharSequence> replacement)` | Replace all substrings of a supplied input string that match the regular expression with a replacement string.
    `AtomicIterator` | `tokenize​(java.lang.CharSequence input)` | Use this regular expression to tokenize an input string.

- - ### Method Detail

    - #### matches

          boolean matches​(java.lang.CharSequence input)

      Determine whether the regular expression matches a given string in its entirety
      Parameters:
        `input` - the string to match
      Returns:
        true if the string matches, false otherwise

    - #### containsMatch

          boolean containsMatch​(java.lang.CharSequence input)

      Determine whether the regular expression contains a match of a given string
      Parameters:
        `input` - the string to match
      Returns:
        true if the string matches, false otherwise

    - #### tokenize

          AtomicIterator tokenize​(java.lang.CharSequence input)

      Use this regular expression to tokenize an input string.
      Parameters:
        `input` - the string to be tokenized
      Returns:
        a SequenceIterator containing the resulting tokens, as objects of type StringValue

    - #### analyze

          RegexIterator analyze​(java.lang.CharSequence input)

      Use this regular expression to analyze an input string, in support of the XSLT analyze-string instruction. The resulting RegexIterator provides both the matching and non-matching substrings, and allows them to be distinguished. It also provides access to matched subgroups.
      Parameters:
        `input` - the character string to be analyzed using the regular expression
      Returns:
        an iterator over matched and unmatched substrings

    - #### replace

          java.lang.CharSequence replace​(java.lang.CharSequence input,
                                         java.lang.CharSequence replacement)
                                  throws XPathException

      Replace all substrings of a supplied input string that match the regular expression with a replacement string.
      Parameters:
        `input` - the input string on which replacements are to be performed
        `replacement` - the replacement string in the format of the XPath replace() function
      Returns:
        the result of performing the replacement
      Throws:
        `XPathException` - if the replacement string is invalid

    - #### replaceWith

          java.lang.CharSequence replaceWith​(java.lang.CharSequence input,
                                             java.util.function.Function<java.lang.CharSequence,​java.lang.CharSequence> replacement)
                                      throws XPathException

      Replace all substrings of a supplied input string that match the regular expression with a replacement string.
      Parameters:
        `input` - the input string on which replacements are to be performed
        `replacement` - a function that is called once for each matching substring, and that returns a replacement for that substring
      Returns:
        the result of performing the replacement
      Throws:
        `XPathException` - if the replacement string is invalid

    - #### getFlags

          java.lang.String getFlags()

      Get the flags used at the time the regular expression was compiled.
      Returns:
        a string containing the flags