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

JavaのMatcher region(int start,int end)メソッドの例

java.util.regex.Matcherクラスは、さまざまなマッチング操作を実行するエンジンを表します。このクラスにはコンストラクタがなく、java.util.regex.Patternクラスのmatches()メソッドを使用して作成できます。/このクラスのオブジェクトを取得します。

このクラス(Matcher)のregion()このメソッドは、入力文字列の中の位置を示す二つの整数値を受け取り、現在のマッチャーの領域を設定します。

例1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegionExample {
   public static void main(String[] args) {
      //正規表現を受け入れ 6 まで 10 文字:
      String regex = "\\A(?=\\w{6,10}\\z)";
      System.out.println("Enter 5 まで 12 文字:
      String input = new Scanner(System.in).next();
      //パターンオブジェクトの作成
      Pattern pattern = Pattern.compile(regex);
      //マッチャーオブジェクトの作成
      Matcher matcher = pattern.matcher(input);
      //region を入力文字列に設定
      matcher.region(0, 4);
      //透明な境界線に切り替え
      if(matcher.find()) {
         System.out.println("マッチングが見つかりました");
      } else {
         System.out.println("マッチングが見つかりませんでした");
      }
   }
}

出力結果

Enter 5 まで 12 文字:
sampleText
マッチングが見つかりませんでした

例2

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegionExample {
   public static void main(String[] args) {
      String regex = "(.*)(\\d+)(.*);
      String input = "This is a sample Text, 1234、中間に数字が含まれています。
      //パターンオブジェクトの作成
      Pattern pattern = Pattern.compile(regex);
      //マッチャーオブジェクトの作成
      Matcher matcher = pattern.matcher(input);
      //マッチャーの範囲を設定しています
      matcher.region(0, 20);
      if(matcher.matches()) {
         System.out.println("マッチングが見つかりました");
      } else {
         System.out.println("マッチングが見つかりませんでした");
      }
   }
}

出力結果

マッチングが見つかりませんでした