Javaregex-matcher-find1
提供:Dev Guides
java.util.regex.Matcher.find()メソッド
説明
- java.time.Matcher.find(int start)*メソッドはこのマッチャーをリセットし、指定されたインデックスから開始して、パターンに一致する入力シーケンスの次のサブシーケンスを見つけようとします。
宣言
以下は* java.time.Matcher.find(int start)*メソッドの宣言です。
public boolean find(int start)
パラメーター
- start -入力文字列の開始インデックス。
戻り値
指定されたインデックスで始まる入力シーケンスのサブシーケンスがこのマッチャーのパターンに一致する場合にのみtrue
例外
- IndexOutOfBoundsException -指定されたインデックスを持つパターンにキャプチャグループがない場合。
例
次の例は、java.time.Matcher.find(int start)メソッドの使用方法を示しています。
package com.finddevguides;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatcherDemo {
private static String REGEX = "(a*b)(foo)";
private static String INPUT = "aabfooaabfooabfoob";
private static String REPLACE = "-";
public static void main(String[] args) {
Pattern pattern = Pattern.compile(REGEX);
//get a matcher object
Matcher matcher = pattern.matcher(INPUT);
if(matcher.find(6)) {
//Prints the offset after the last character matched.
System.out.println("First Capturing Group, (a*b) Match String end(): "+matcher.end());
System.out.println("Second Capturing Group, (foo) Match String end(): "+matcher.end(1));
}
}
}
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
First Capturing Group, (a*b) Match String end(): 12
Second Capturing Group, (foo) Match String end(): 9