java.util.regex
Class Matcher
java.lang.Object
java.util.regex.Matcher
-
All Implemented Interfaces:
- MatchResult
public final class Matcher
extends Object
implements MatchResult
An engine that performs(执行) match operations(操作)on acharacter sequence
byinterpreting(解释)a
Pattern
.
执行匹配操作在一个字符序列通过pattern
A matcher is created from a pattern by invoking(调用)the pattern'smatcher
method. Once created, a matcher can be used to perform three different kinds of matchoperations:
一个matcher被创建时从一个pattern调用这pattern的matcher方法,一旦被创建,
matcher能被用执行三种不同的匹配操作
-
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.matches
方法有顺序的匹配所有lookingAt
方法是匹配从开始到结束的匹配find
方法有顺序的找下一个匹配
Each of these methods returns a boolean indicating(指示)success or failure. More information about a successful match can beobtained(获得)byquerying(询问)the state of the matcher.
三个方法返回的是一个boolean表示成功或者失败。能获得许多关于成功匹配的信息
通过询问matcher
A matcher finds matches in a subset(子集) of its input called theregion(范围). By default, theregion contains all of the matcher's input. The region can bemodified(修改)via(通过)theregion
method and queried via theregionStart
andregionEnd
methods. The way that the regionboundaries(周围)interact(交换)with some patternconstructs(建筑,样式)can be changed. SeeuseAnchoringBounds
anduseTransparentBounds
for more details.
matcher匹配的子集在它中叫区域,默认情况下,这区域包含了所有匹配的数据。
区域能被修改用region方法和查询可以通过
regionStart和
regionEnd
方法。
这区域的周围可以交换用一些patter样式能被改变。查看useAnchoringBounds
和useTransparentBounds更多的信息。
This class also defines(规定)methods for replacing matched subsequences with new strings whose contents can, ifdesired(渴望,想要的), be computed from the match result. TheappendReplacement
andappendTail
methods can be used in tandem(串联)in order to collect the result into anexisting(现有)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.
这个类规定许多方法有序替换字符串用新的字符串。如果需要的话,matcher结果计算
appendReplacement
和appendTail
方法能被用来串联成集合在一个现有的字符缓冲区
更方便的replaceAll
方法能被用创建一个字符串,被替换的在每个有序匹配。
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 willcause(引起)anIllegalStateException
to be thrown. The explicit state of a matcher isrecomputed(重新)by every match operation.
The implicit(绝对的)state of a matcher includes the input character sequence as well as theappend position, which isinitially zero and is updated by theappendReplacement
method.
这matcher最初是未定义的,尝试查询任何部分在匹配成功之前将引起一个IllegalStateException
抛出
明确的匹配是重新每个匹配操作。
matcher的绝对匹配包含字符串顺序输入和追加位子。最初由0开始和更新通过appendReplacement
方法。
A matcher may be reset explicitly(明白的,正确的)by invoking itsreset()
method or, if a new input sequence isdesired(想得到), 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.
mathcher匹配正确通过它的reset方法或者,假如需要一个新的输入序列,
它的reset(CharSequence)方法,重新的一个匹配将丢弃和设置这位子为0
这个类的实例不是安全的通过多线程使用。