Interface RegexIterator

All Superinterfaces:
AutoCloseable, Closeable, SequenceIterator
All Known Implementing Classes:
ARegexIterator, JRegexIterator

public interface RegexIterator extends SequenceIterator
This interface defines an iterator that supports the evaluation of xsl:analyze-string. It returns all the matching and non-matching substrings in an input string, and provides access to their captured groups
  • Method Details

    • next

      Get the next item in the sequence. This method changes the state of the iterator.
      Specified by:
      next in interface SequenceIterator
      Returns:
      the next item, or null if there are no more items. Once a call on next() has returned null, no further calls should be made. The preferred action for an iterator if subsequent calls on next() are made is to return null again, and all implementations within Saxon follow this rule.
      Throws:
      XPathException - if an error occurs retrieving the next item
    • isMatching

      boolean isMatching()
      Determine whether the current item in the sequence is a matching item or a non-matching item
      Returns:
      true if the current item is a matching item
    • getNumberOfGroups

      int getNumberOfGroups()
      Get the number of captured groups in the current matching item
    • getRegexGroup

      String getRegexGroup(int number)
      Get a substring that matches a parenthesised group within the regular expression
      Parameters:
      number - the number of the group to be obtained
      Returns:
      the substring of the current item that matches the n'th parenthesized group within the regular expression
    • processMatchingSubstring

      void processMatchingSubstring(RegexIterator.MatchHandler action) throws XPathException
      Process a matching substring, performing specified actions at the start and end of each matching group
      Throws:
      XPathException