當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。