gnu.regexp

Class REMatch

public final class REMatch extends Object implements Serializable, Cloneable

An instance of this class represents a match completed by a gnu.regexp matching function. It can be used to obtain relevant information about the location of a match or submatch.

Author: Wes Biggs

Field Summary
intanchor
inteflags
int[]end
intindex
REMatchnext
intoffset
int[]start
Constructor Summary
REMatch(int subs, int anchor, int eflags)
Method Summary
voidassignFrom(REMatch other)
voidclear(int index)
Clears the current match and moves the offset to the new index.
Objectclone()
voidfinish(CharIndexed text)
intgetEndIndex()
Returns the index within the input string where the match in its entirety ends.
intgetEndIndex(int sub)
Returns the index within the input string used to generate this match where subexpression number sub ends, or -1 if the subexpression does not exist.
intgetStartIndex()
Returns the index within the input text where the match in its entirety began.
intgetStartIndex(int sub)
Returns the index within the input string used to generate this match where subexpression number sub begins, or -1 if the subexpression does not exist.
intgetSubEndIndex(int sub)
Returns the index within the input string used to generate this match where subexpression number sub ends, or -1 if the subexpression does not exist.
intgetSubStartIndex(int sub)
Returns the index within the input string used to generate this match where subexpression number sub begins, or -1 if the subexpression does not exist.
StringsubstituteInto(String input)
Substitute the results of this match to create a new string.
StringtoString()
Returns the string matching the pattern.
StringtoString(int sub)
Returns the string matching the given subexpression.

Field Detail

anchor

int anchor

eflags

int eflags

end

int[] end

index

int index

REMatch next

offset

int offset

start

int[] start

Constructor Detail

REMatch

REMatch(int subs, int anchor, int eflags)

Method Detail

assignFrom

void assignFrom(REMatch other)

clear

void clear(int index)
Clears the current match and moves the offset to the new index.

clone

public Object clone()

finish

void finish(CharIndexed text)

getEndIndex

public int getEndIndex()
Returns the index within the input string where the match in its entirety ends. The return value is the next position after the end of the string; therefore, a match created by the following call:

REMatch myMatch = myExpression.getMatch(myString);

can be viewed (given that myMatch is not null) by creating

String theMatch = myString.substring(myMatch.getStartIndex(), myMatch.getEndIndex());

But you can save yourself that work, since the toString() method (above) does exactly that for you.

getEndIndex

public int getEndIndex(int sub)
Returns the index within the input string used to generate this match where subexpression number sub ends, or -1 if the subexpression does not exist. The initial position is zero.

Parameters: sub Subexpression index

getStartIndex

public int getStartIndex()
Returns the index within the input text where the match in its entirety began.

getStartIndex

public int getStartIndex(int sub)
Returns the index within the input string used to generate this match where subexpression number sub begins, or -1 if the subexpression does not exist. The initial position is zero.

Parameters: sub Subexpression index

Since: gnu.regexp 1.1.0

getSubEndIndex

public int getSubEndIndex(int sub)

Deprecated: Use getEndIndex(int) instead

Returns the index within the input string used to generate this match where subexpression number sub ends, or -1 if the subexpression does not exist. The initial position is zero.

Parameters: sub Subexpression index

getSubStartIndex

public int getSubStartIndex(int sub)

Deprecated: Use getStartIndex(int) instead.

Returns the index within the input string used to generate this match where subexpression number sub begins, or -1 if the subexpression does not exist. The initial position is zero.

Parameters: sub Subexpression index

substituteInto

public String substituteInto(String input)
Substitute the results of this match to create a new string. This is patterned after PERL, so the tokens to watch out for are $0 through $9. $0 matches the full substring matched; $n matches subexpression number n.

Parameters: input A string consisting of literals and $n tokens.

toString

public String toString()
Returns the string matching the pattern. This makes it convenient to write code like the following:

REMatch myMatch = myExpression.getMatch(myString);
if (myMatch != null) System.out.println("Regexp found: "+myMatch);

toString

public String toString(int sub)
Returns the string matching the given subexpression. The subexpressions are indexed starting with one, not zero. That is, the subexpression identified by the first set of parentheses in a regular expression could be retrieved from an REMatch by calling match.toString(1).

Parameters: sub Index of the subexpression.