net.sf.saxon.instruct
Class RegexIterator

java.lang.Object
  extended by net.sf.saxon.instruct.RegexIterator
All Implemented Interfaces:
SequenceIterator

public class RegexIterator
extends Object
implements SequenceIterator

Class RegexIterator - provides an iterator over matched and unmatched substrings


Constructor Summary
RegexIterator(String string, Pattern pattern)
          Construct a RegexIterator.
 
Method Summary
 Item current()
          Get the current item in the sequence
 SequenceIterator getAnother()
          Get another iterator over the same items
 String getRegexGroup(int number)
          Get a substring that matches a parenthesised group withing the regular expression
 boolean isMatching()
          Determine whether the current item is a matching item or a non-matching item
 Item next()
          Get the next item in the sequence
 int position()
          Get the position of the current item in the sequence
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RegexIterator

public RegexIterator(String string,
                     Pattern pattern)
Construct a RegexIterator. Note that the underlying matcher.find() method is called once to obtain each matching substring. But the iterator also returns non-matching substrings if these appear between the matching substrings.

Parameters:
string - the string to be analysed
pattern - the regular expression
Method Detail

next

public Item next()
Get the next item in the sequence

Specified by:
next in interface SequenceIterator
Returns:
the next item in the sequence

current

public Item current()
Get the current item in the sequence

Specified by:
current in interface SequenceIterator
Returns:
the item most recently returned by next()

position

public int position()
Get the position of the current item in the sequence

Specified by:
position in interface SequenceIterator
Returns:
the position of the item most recently returned by next(), starting at 1

getAnother

public SequenceIterator getAnother()
Get another iterator over the same items

Specified by:
getAnother in interface SequenceIterator
Returns:
a new iterator, positioned before the first item

isMatching

public boolean isMatching()
Determine whether the current item is a matching item or a non-matching item

Returns:
true if the current item (the one most recently returned by next()) is an item that matches the regular expression, or false if it is an item that does not match

getRegexGroup

public String getRegexGroup(int number)
Get a substring that matches a parenthesised group withing 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