gnu.java.util.regex
Class REMatch
- Cloneable, Serializable
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.
Object | clone() - This method may be called to create a new copy of the
Object.
|
int | getEndIndex() - Returns the index within the input string where the match in
its entirety ends.
|
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.
|
int | getStartIndex() - Returns the index within the input text where the match in its entirety
began.
|
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.
|
int | getSubEndIndex(int sub) - Use getEndIndex(int) instead
|
int | getSubStartIndex(int sub) - Use getStartIndex(int) instead.
|
String | substituteInto(String input) - Substitute the results of this match to create a new string.
|
String | toString() - Returns the string matching the pattern.
|
String | toString(int sub) - Returns the string matching the given subexpression.
|
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
clone
public Object clone()
This method may be called to create a new copy of the
Object. The typical behavior is as follows:
o == o.clone()
is falseo.getClass() == o.clone().getClass()
is trueo.equals(o)
is true
However, these are not strict requirements, and may
be violated if necessary. Of the three requirements, the
last is the most commonly violated, particularly if the
subclass does not override
Object.equals(Object)
.
If the Object you call clone() on does not implement
Cloneable
(which is a placeholder interface), then
a CloneNotSupportedException is thrown. Notice that
Object does not implement Cloneable; this method exists
as a convenience for subclasses that do.
Object's implementation of clone allocates space for the
new Object using the correct class, without calling any
constructors, and then fills in all of the new field values
with the old field values. Thus, it is a shallow copy.
However, subclasses are permitted to make a deep copy.
All array types implement Cloneable, and override
this method as follows (it should never fail):
public Object clone()
{
try
{
super.clone();
}
catch (CloneNotSupportedException e)
{
throw new InternalError(e.getMessage());
}
}
- clone in interface Object
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.
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.
sub
- Subexpression index
getSubEndIndex
public int getSubEndIndex(int sub)
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.
sub
- Subexpression index
getSubStartIndex
public int getSubStartIndex(int sub)
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.
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.
$10, $11, ...
may match the 10th, 11th, ... subexpressions
if such subexpressions exist.
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 in interface Object
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).
sub
- Index of the subexpression.
gnu/regexp/REMatch.java
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.