当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Matcher region()用法及代码示例


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() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。