|
![]() |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectsunlabs.brazil.util.regexp.Regsub (view source)
public class Regsub
The Regsub
class provides an iterator-like object to
extract the matched and unmatched portions of a string with respect to
a given regular expression.
After each match is found, the portions of the string already checked are not searched again -- searching for the next match will begin at the character just after where the last match ended.
Here is an example of using Regsub to replace all "%XX" sequences in a string with the ASCII character represented by the hex digits "XX":
public static void main(String[] args) throws Exception { Regexp re = new Regexp("%[a-fA-F0-9][a-fA-F0-9]"); Regsub rs = new Regsub(re, args[0]); StringBuffer sb = new StringBuffer(); while (rs.nextMatch()) { sb.append(rs.skipped()); String match = rs.matched(); int hi = Character.digit(match.charAt(1), 16); int lo = Character.digit(match.charAt(2), 16); sb.append((char) ((hi << 4) | lo)); } sb.append(rs.rest()); System.out.println(sb); }
Regexp
Constructor Summary | |
---|---|
Regsub(Regexp r,
String str)
Construct a new Regsub that can be used to step
through the given string, finding each substring that matches
the given regular expression. |
Method Summary | |
---|---|
Regexp |
getRegexp()
Return the regexp used by this regsub. |
String |
matched()
Returns a substring consisting of the characters that matched the entire regular expression during the last call to nextMatch . |
boolean |
nextMatch()
Searches for the next substring that matches the regular expression. |
String |
rest()
Returns a substring consisting of all the characters that come after the last match. |
String |
skipped()
Returns a substring consisting of all the characters skipped between the end of the last match (or the start of the original search string) and the start of this match. |
String |
submatch(int i)
Returns a substring consisting of the characters that matched the given parenthesized subexpression during the last call to nextMatch . |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Regsub(Regexp r, String str)
Regsub
that can be used to step
through the given string, finding each substring that matches
the given regular expression.
Regexp
contains two substitution methods,
sub
and subAll
, that can be used instead
of Regsub
if just simple substitutions are being done.
r
- The compiled regular expression.str
- The string to search.Regexp.sub(java.lang.String, java.lang.String)
,
Regexp.subAll(java.lang.String, java.lang.String)
Method Detail |
---|
public boolean nextMatch()
skipped
, matched
, etc. to query attributes
of the matched region.
Calling this function again will search for the next match, beginning at the character just after where the last match ended.
true
if a match was found, false
if there are no more matches.public String skipped()
This method can be used extract all the portions of string that didn't match the regular expression.
public String matched()
nextMatch
.
submatch(int)
public String submatch(int i)
nextMatch
.
i
- The index of the parenthesized subexpression.
null
if the given subexpression did not
exist or did not match.public String rest()
rest
gets shorter. When nextMatch
returns false
,
then this method will return the rest of the string that can't be
matched.
public Regexp getRegexp()
|
Version Kenai-svn-r24, Generated 08/18/09 Copyright (c) 2001-2009, Sun Microsystems. |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |