public final class Matcher extends Object
Pattern on a
specific input. Its interface mimics the JDK 1.4.2
java.util.regex.Matcher.
Conceptually, a Matcher consists of four parts:
Pattern, set at
construction and fixed for the lifetime of the matcher.reset() and advanced by each match operation such as
find(), matches() or lookingAt().start(),
end(), and group(), and updated by each match
operation.appendReplacement(java.lang.StringBuffer, java.lang.String) and appendTail(java.lang.StringBuffer) if performing a
search and replace from the input to an external StringBuffer.
See the package-level documentation for an overview of how to use this API.
| Modifier and Type | Method and Description |
|---|---|
Matcher |
appendReplacement(StringBuffer sb,
String replacement)
Appends to
sb two strings: the text from the append position up
to the beginning of the most recent match, and then the replacement with
submatch groups substituted for references of the form $n, where
n is the group number in decimal. |
StringBuffer |
appendTail(StringBuffer sb)
Appends to
sb the substring of the input from the
append position to the end of the input. |
int |
end()
Returns the end position of the most recent match.
|
int |
end(int group)
Returns the end position of a subgroup of the most recent match.
|
boolean |
find()
Matches the input against the pattern (unanchored).
|
boolean |
find(int start)
Matches the input against the pattern (unanchored),
starting at a specified position.
|
String |
group()
Returns the most recent match.
|
String |
group(int group)
Returns the subgroup of the most recent match.
|
int |
groupCount()
Returns the number of subgroups in this pattern.
|
boolean |
lookingAt()
Matches the beginning of input against the pattern (anchored start).
|
boolean |
matches()
Matches the entire input against the pattern (anchored start and end).
|
Pattern |
pattern()
Returns the
Pattern associated with this Matcher. |
String |
replaceAll(String replacement)
Returns the input with all matches replaced by
replacement,
interpreted as for appendReplacement. |
String |
replaceFirst(String replacement)
Returns the input with the first match replaced by
replacement,
interpreted as for appendReplacement. |
Matcher |
reset()
Resets the
Matcher, rewinding input and
discarding any match information. |
Matcher |
reset(CharSequence input)
Resets the
Matcher and changes the input. |
int |
start()
Returns the start position of the most recent match.
|
int |
start(int group)
Returns the start position of a subgroup of the most recent match.
|
public Pattern pattern()
Pattern associated with this Matcher.public Matcher reset()
Matcher, rewinding input and
discarding any match information.Matcher itself, for chained method callspublic Matcher reset(CharSequence input)
Matcher and changes the input.input - the new input stringMatcher itself, for chained method callspublic int start()
IllegalStateException - if there is no matchpublic int end()
IllegalStateException - if there is no matchpublic int start(int group)
group - the group index; 0 is the overall matchIllegalStateException - if there is no matchIndexOutOfBoundsException - if group < 0 or group > groupCount()public int end(int group)
group - the group index; 0 is the overall matchIllegalStateException - if there is no matchIndexOutOfBoundsException - if group < 0 or group > groupCount()public String group()
IllegalStateException - if there is no matchpublic String group(int group)
IllegalStateException - if there is no matchIndexOutOfBoundsException - if group < 0
or group > groupCount()public int groupCount()
public boolean matches()
matches sets the match state to describe it.public boolean lookingAt()
lookingAt sets the match state to describe it.public boolean find()
find sets the match state to describe it.public boolean find(int start)
find sets the match state to describe it.start - the input position where the search beginsIndexOutOfBoundsException - if start is not a valid input positionpublic Matcher appendReplacement(StringBuffer sb, String replacement)
sb two strings: the text from the append position up
to the beginning of the most recent match, and then the replacement with
submatch groups substituted for references of the form $n, where
n is the group number in decimal. It advances the append position
to the position where the most recent match ended.
To embed a literal $, use \$ (actually "\\$" with string
escapes). The escape is only necessary when $ is followed by a
digit, but it is always allowed. Only $ and \ need
escaping, but any character can be escaped.
The group number n in $n is always at least one digit
and expands to use more digits as long as the resulting number is a
valid group number for this pattern. To cut it off earlier, escape the
first digit that should not be used.
sb - the StringBuffer to append toreplacement - the replacement stringMatcher itself, for chained method callsIllegalStateException - if there was no most recent matchIndexOutOfBoundsException - if replacement refers to an invalid grouppublic StringBuffer appendTail(StringBuffer sb)
sb the substring of the input from the
append position to the end of the input.sb - the StringBuffer to append tosb, for method chainingpublic String replaceAll(String replacement)
replacement,
interpreted as for appendReplacement.replacement - the replacement stringIndexOutOfBoundsException - if replacement refers to an invalid grouppublic String replaceFirst(String replacement)
replacement,
interpreted as for appendReplacement.replacement - the replacement stringIndexOutOfBoundsException - if replacement refers to an invalid groupCopyright © 2015. All Rights Reserved.