public interface MatchResult
匹配操作的结果。
此接口包含用于确定与正则表达式匹配结果的查询方法。通过 MatchResult
可以查看匹配边界、组和组边界,但是不能修改。
Matcher
方法摘要 | |
---|---|
int |
end() 返回最后匹配字符之后的偏移量。 |
int |
end(int group) 返回在匹配期间由给定组所捕获子序列的最后字符之后的偏移量。 |
String |
group() 返回由以前匹配所匹配的输入子序列。 |
String |
group(int group) 返回在以前匹配操作期间由给定组捕获的输入子序列。 |
int |
groupCount() 返回此匹配结果的模式中的捕获组数。 |
int |
start() 返回匹配的初始索引。 |
int |
start(int group) 返回在匹配期间由给定组捕获的子序列的初始索引。 |
方法详细信息 |
---|
int start()
IllegalStateException
- 如果没有尝试任何匹配或者以前的匹配操作失败
int start(int group)
捕获组是从左到右的索引,从 1 开始。组零表示整个模式,因此表达式 m.start(0) 等效于 m.start()。
group
- 此匹配器模式中捕获组的索引
IllegalStateException
- 如果没有尝试任何匹配或者以前的匹配操作失败
IndexOutOfBoundsException
- 如果在给定索引的模式中不存在捕获组
int end()
IllegalStateException
- 如果没有尝试任何匹配或者以前的匹配操作失败
int end(int group)
捕获组是从左到右的索引,从 1 开始。组零表示整个模式,因此表达式 m.end(0) 等效于 m.end()。
group
- 此匹配器模式中捕获组的索引
IllegalStateException
- 如果没有尝试任何匹配或者以前的匹配操作失败
IndexOutOfBoundsException
- 如果在给定索引的模式中不存在捕获组
String group()
对于具有输入序列 s 的匹配器 m,表达式 m.group() 和 s.substring(m.start(), m.end()) 是等效的。
注意,某些模式(例如,a*)匹配空字符串。当模式成功匹配输入中的空字符串时,此方法将返回空字符串。
IllegalStateException
- 如果没有尝试任何匹配或者以前的匹配操作失败
String group(int group)
对于匹配器 m、输入序列 s 和组索引 g,表达式 m.group(g) 和 s.substring(m.start(g), m.end(g)) 是等效的。
捕获组是从左到右的索引,从 1 开始。组零表示整个模式,因此表达式 m.group(0) 等效于 m.group()。
如果该匹配成功了,但指定组未能匹配输入序列的任何部分,则返回 null。注意,某些组(例如,(a*))匹配空字符串。当这种组成功匹配输入中的空字符串时,此方法将返回空字符串。
group
- 此匹配器模式中捕获组的索引
IllegalStateException
- 如果没有尝试任何匹配或者以前的匹配操作失败
IndexOutOfBoundsException
- 如果在给定索引的模式中不存在捕获组
int groupCount()
根据惯例,零组表示整个模式。它不包括在此计数中。
任何小于等于由此方法返回的值的非负整数保证是此匹配器的有效组索引。