| java.lang.Object sunlabs.brazil.util.regexp.Regsub
Regsub | public class Regsub (Code) | | 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);
}
author: Colin Stevens (colin.stevens@sun.com) version: 1.4, 99/10/14 See Also: Regexp |
Constructor Summary | |
public | 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 | |
public String | matched() Returns a substring consisting of the characters that matched
the entire regular expression during the last call to
nextMatch . | public boolean | nextMatch() Searches for the next substring that matches the regular expression.
After calling this method, the caller would call methods like
skipped , matched , etc. | public String | rest() Returns a substring consisting of all the characters that come
after the last match. | public 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. | public String | submatch(int i) Returns a substring consisting of the characters that matched
the given parenthesized subexpression during the last call to
nextMatch . |
Regsub | public Regsub(Regexp r, String str)(Code) | | Construct a new 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.
Parameters: r - The compiled regular expression. Parameters: str - The string to search. See Also: Regexp.sub See Also: Regexp.subAll |
matched | public String matched()(Code) | | Returns a substring consisting of the characters that matched
the entire regular expression during the last call to
nextMatch .
The characters that did match. See Also: Regsub.submatch |
nextMatch | public boolean nextMatch()(Code) | | Searches for the next substring that matches the regular expression.
After calling this method, the caller would call methods like
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. |
rest | public String rest()(Code) | | Returns a substring consisting of all the characters that come
after the last match. As the matches progress, the rest
gets shorter. When nextMatch returns false ,
then this method will return the rest of the string that can't be
matched.
The rest of the characters after the last match. |
skipped | public String skipped()(Code) | | 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.
This method can be used extract all the portions of string that
didn't match the regular expression.
The characters that didn't match. |
submatch | public String submatch(int i)(Code) | | Returns a substring consisting of the characters that matched
the given parenthesized subexpression during the last call to
nextMatch .
Parameters: i - The index of the parenthesized subexpression. The characters that matched the subexpression, ornull if the given subexpression did notexist or did not match. |
|
|