English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java.util.regex.Matcherクラスは、さまざまなマッチング操作を実行するエンジンを表します。このクラスにはコンストラクタがありませんが、以下のように使用できます。matches()
java.util.regex.Patternクラスのメソッドで作成/このクラスのオブジェクトを取得します。
Matcherクラスのstart()マッチングされた文字の開始インデックスを返します。
例
子表現「 [...]」を使って、指定された大括弧内の文字を入力文字列にマッチングします。以下の例では、文字tにこの表現を使用します。ここでは、
私たちはこれを使ってcompile()
メソッドは正規表現をコンパイルします。
Matcherオブジェクトを取得
matcher()
各マッチング項目でこのメソッドを呼び出します。
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class StartExample { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("入力テキストを入力してください: "); String input = sc.nextLine(); String regex = "[t]"; //パターンオブジェクトを作成 Pattern pattern = Pattern.compile(regex); //文字列内の既にコンパイルされたパターンをマッチング Matcher matcher = pattern.matcher(input); int count =0; while (matcher.find()) { int start = matcher.start(); System.out.println(start); } } }
出力結果
入力テキストを入力してください: Hello how are you welcome to w3codebox 26 31 42
文字tが入力文字列に3回出現するため、3つのインデックス値(各文字のインデックスを表す)が観察できます。