Matcher 类的 region 方法用于通过指定匹配器输入序列的起点和终点来限制匹配器的区域。此方法重置匹配器,然后将区域设置为从 start 参数指定的索引处开始,并在 end 参数指定的索引处结束。
用法:
public Matcher region(int start, int end)
参数
start- 开始搜索的索引(包括)
end- 搜索结束的索引(独占)
返回
这个匹配器
抛出
IndexOutOfBoundsException - 如果开始或结束小于零,如果开始大于输入序列的长度,如果结束大于输入序列的长度,或者如果开始大于结束。
自从
1.5
例子1
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatcherRegionExample1 {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("(a*b)(java)");
int i=0;
// get a regular expression as matcher object
Matcher matcher = pattern.matcher("aabjavaaabjavaabjavab");
matcher = matcher.region(0, 15);
while(matcher.find()) {
i=i+1;
//Prints the index of last character matched.
System.out.println(i+" Capturing Group, (a*b) Match String end():"+matcher.end());
}
}
输出:
1 Capturing Group, (a*b) Match String end():7 2 Capturing Group, (a*b) Match String end():14 java.util.regex.Matcher[pattern=(a*b)(java) region=0,15 lastmatch=aabjava]
例子2
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatcherRegionExample2 {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("(a*b)(java)");
int i=0;
// get a regular expression as matcher object
Matcher m = pattern.matcher("aabjavaaabjavaabjavab");
m = m.region(2, 10);
while(m.find()) {
i=i+1;
//Prints the index of last character matched.
System.out.println(i+" Capturing Group, (a*b) Match String end():"+m.end());
}
if(m.lookingAt())
System.out.println(""+m.toString());
}
}
输出:
1 Capturing Group, (a*b) Match String end():7 java.util.regex.Matcher[pattern=(a*b)(java) region=2,10 lastmatch=bjava]
相关用法
- Java Matcher region(int, int)用法及代码示例
- Java Matcher regionEnd()用法及代码示例
- Java Matcher regionStart()用法及代码示例
- Java Matcher replaceAll(String)用法及代码示例
- Java Matcher replaceFirst(String)用法及代码示例
- Java Matcher replaceAll(Function)用法及代码示例
- Java Matcher requireEnd()用法及代码示例
- Java Matcher reset(CharSequence)用法及代码示例
- Java Matcher reset()用法及代码示例
- Java Matcher replaceFirst(Function)用法及代码示例
- Java Matcher matches()用法及代码示例
- Java Matcher group(String)用法及代码示例
- Java Matcher start(int)用法及代码示例
- Java Matcher useTransparentBounds()用法及代码示例
- Java Matcher lookingAt()用法及代码示例
- Java Matcher quoteReplacement()用法及代码示例
- Java Matcher end()用法及代码示例
- Java Matcher useAnchoringBounds()用法及代码示例
- Java Matcher appendTail(StringBuffer)用法及代码示例
- Java Matcher hasAnchoringBounds()用法及代码示例
注:本文由纯净天空筛选整理自 Java Matcher region() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。