English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Javaの例付きのMatcher start()メソッド

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つのインデックス値(各文字のインデックスを表す)が観察できます。

おすすめ