Javaregex-matchresult-start1
提供:Dev Guides
java.util.regex.MatchResult.start()メソッド
説明
- java.time.MatchResult.start(int group)*メソッドは、この一致中に特定のグループによってキャプチャされたサブシーケンスの開始インデックスを返します。
宣言
以下は* java.time.MatchResult.start(int group)*メソッドの宣言です。
int start(int group)
パラメーター
- group -このマッチャーのパターンのキャプチャグループのインデックス。
戻り値
グループによってキャプチャされた最初の文字のインデックス。一致は成功したがグループ自体が何も一致しなかった場合は-1。
例外
- IllegalStateException -一致がまだ試行されていない場合、または前の一致操作が失敗した場合。
- IndexOutOfBoundsException -指定されたインデックスを持つパターンにキャプチャグループがない場合。
例
次の例は、java.time.MatchResult.start(int group)メソッドの使用方法を示しています。
package com.finddevguides;
import java.util.regex.MatchResult;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatchResultDemo {
private static final String REGEX = "(.*)(\\d+)(.*)";
private static final String INPUT = "This is a sample Text, 1234, with numbers in between.";
public static void main(String[] args) {
//create a pattern
Pattern pattern = Pattern.compile(REGEX);
//get a matcher object
Matcher matcher = pattern.matcher(INPUT);
if(matcher.find()) {
//get the MatchResult Object
MatchResult result = matcher.toMatchResult();
//Prints the start index of the subsequence captured by the given group during this match.
System.out.println("Second Capturing Group - Match String start(1): "+result.start(1));
}
}
}
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
Second Capturing Group - Match String start(1): 0