English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
本文java.util.regex.Matcherクラスのこのクラスは、さまざまなマッチ操作を行うエンジンを表します。このクラスにはコンストラクタがありませんが、使用できますmatches()
java.util.regex.Patternクラスのメソッドで作成/このクラスのオブジェクトを取得します。
マッチがあれば、この(Matcher)クラスのrequireEnd()メソッドは、さらに多くの入力がある場合にマッチ結果がfalseになる可能性があるかどうかを確認し、その場合にはtrueを返し、そうでない場合はfalseを返します。
例えば、正規表現「you $」を使用して入力文字列の最後の単語をマッチさせる場合、最初の入力行が「hello you are」の場合はマッチしますが、さらに多くの行が追加されると、新しい行の最後の単語が必須の単語(つまり「you」)でない場合、マッチ結果はfalseになります。この場合、requiredEnd()
メソッドはtrueを返します。
同様に、特定の文字を入力にマッチさせる場合は#とし、最初の入力行が「Hello#こんにちは」の場合、マッチが行われますが、さらに多くの入力データがマッチエンジンの内容を変更するかもしれませんが、結果は変更されません。これは真です。この場合、requiredEnd()
メソッドはfalseを返します。
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RequiredEndExample { public static void main(String args[]) { String regex = "you$"; //ユーザー入力の読み取り Scanner sc = new Scanner(System.in); System.out.println("入力テキストを入力してください:"); String input = sc.nextLine(); //Patternクラスをインスタンス化する Pattern pattern = Pattern.compile(regex); //Matcherクラスをインスタンス化する Matcher matcher = pattern.matcher(input); //マッチングが発生したかどうかを確認する if(matcher.find()) { System.out.println("マッチングが見つかりました"); } boolean result = matcher.requireEnd(); if(result) { System.out.println("さらに入力があれば、マッチングの結果が false になる可能性があります"); } else{ System.out.println("試合の結果は true になります、さらにデータが多い場合でも"); } } }
出力結果
入力テキストを入力してください: Hello how are you マッチングが見つかりました さらに多くの入力がマッチの結果をfalseにする可能性があります
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RequiredEndExample { public static void main(String args[]) { String regex = "[#]"; //ユーザー入力の読み取り Scanner sc = new Scanner(System.in); System.out.println("入力テキストを入力してください:"); String input = sc.nextLine(); //Patternクラスをインスタンス化する Pattern pattern = Pattern.compile(regex); //Matcherクラスをインスタンス化する Matcher matcher = pattern.matcher(input); //マッチングが発生したかどうかを確認する if(matcher.find()) { System.out.println("マッチングが見つかりました"); } boolean result = matcher.requireEnd(); if(result) { System.out.println("さらに入力があれば、マッチングの結果が false になる可能性があります"); } else{ System.out.println("試合の結果は true になります、さらにデータが多い場合でも"); } } }
出力結果
入力テキストを入力してください: Hello# how# are you マッチングが見つかりました 試合の結果は true になります、さらにデータが多い場合でも