-
public final class Matcher extends Object implements MatchResult
An engine引擎 that performs执行 match operations操作 on acharacter sequence
by interpreting解释 a
Pattern
.A matcher匹配器 is created from a pattern模式 by invoking调用 the pattern's
matcher
method. Once created, a matcher can be used to perform three different kinds of match operations:-
The
matches
method attempts尝试 to match the entire整个的 input sequence against the pattern. -
The
lookingAt
method attempts to match the input sequence, starting at the beginning, against the pattern. -
The
find
method scans扫描 the input sequence looking for the next subsequence that matches the pattern.
Each of these methods returns a boolean indicating表示 success or failure. More information about a successful match can be obtained获得 by querying the state of the matcher.
A matcher finds matches in a subset子集 of its input called the region区域 . By default, the region contains all of the matcher's input. The region can be modified修改 via通过 the
region
method and queried via theregionStart
andregionEnd
methods. The way that the region boundaries边界 interact with some pattern constructs构造 can be changed. SeeuseAnchoringBounds
anduseTransparentBounds
for more details.This class also defines定义 methods for replacing matched subsequences with new strings whose contents can, if desired需要 , be computed计算 (new strings contents) from the match result. The
appendReplacement
andappendTail
methods can be used in tandem in order to collect the result into an existing 现有的 string buffer, or the more convenientreplaceAll
method can be used to create a string in which every matching subsequence in the input sequence is replaced.The explicit显示state of a matcher includes the start and end indices索引 of the most recent 最近的successful match. It also includes the start and end indices of the input subsequence captured捕获 by eachcapturing group in the pattern as well as a total count of such subsequences. As a convenience方便 , methods are also provided for returning these captured subsequences in string form形式.
The explicit state of a matcher is initially最初 undefined; attempting尝试 to query any part of it before a successful match will cause an
IllegalStateException
to be thrown. The explicit state of a matcher is recomputed重新计算 by every match operation.The implicit 隐式 state of a matcher includes the input character sequence as well as the append position, which is initially zero and is updated by the
appendReplacement
method.A matcher may be reset explicitly by invoking its
reset()
method or, if a new input sequence is desired需要, itsreset(CharSequence)
method. Resetting a matcher discards 放弃its explicit state information and sets the append position to zero.Instances of this class are not safe for use by multiple concurrent并发 threads.
-
public final class Pattern extends Object implements Serializable
A compiled编译 representation of a regular expression.A regular expression, specified as a string, must first be compiled into an instance of this class. The resulting得到 pattern can then be used to create a
Matcher
object that can match arbitrary任意 character sequencesagainst the regular expression. All of the state involved in performing a match resides in the matcher, so many matchers can share the same pattern.
A typical典型 invocation调用 sequence is thus
Pattern p = Pattern.
compile
("a*b"); Matcher m = p.matcher
("aaaaab"); boolean b = m.matches
();A
matches
method is defined by this class as a convenience for when a regular expression is used just once. This method compiles an expression and matches an input sequence against it in a single invocation. The statementboolean b = Pattern.matches("a*b", "aaaaab");
Instances of this class are immutable and are safe for use by multiple concurrent threads. Instances of the
Matcher
class are not safe for such use
-
Matcher Pattern
最新推荐文章于 2024-02-01 10:32:16 发布