Java
 Computer >> コンピューター >  >> プログラミング >> Java

例を使用したJavaのマッチャーrequireEnd()メソッド


java.util.regex.Matcher classは、さまざまな一致操作を実行するエンジンを表します。このクラスのコンストラクターはありません。クラスjava.util.regex.Patternのmatches()メソッドを使用して、このクラスのオブジェクトを作成/取得できます。

一致する場合は、 requireEnd() この(Matcher)クラスのメソッドは、一致結果がfalseになる可能性があるかどうかを検証します。入力が多い場合、このメソッドはtrueを返し、そうでない場合はfalseを返します。

たとえば、正規表現「you $」を使用して入力文字列の最後の単語を一致させようとしていて、最初の入力行が「hello how are you」の場合、一致する可能性がありますが、さらに多くの文を受け入れる場合新しい行の最後の単語が必須の単語(「あなた」)ではない可能性があり、一致結果が偽になります。このような場合、requiredEnd()メソッドはtrueを返します。

同様に、入力で特定の文字を一致させようとしている場合、たとえば#、最初の入力行が「Hello#how are you」の場合、一致があり、入力データが増えるとマッチャーの内容が変わる可能性がありますが、そうではありません。真の結果を変更しないでください。このようなシナリオでは、requiredEnd()メソッドはfalseを返します。

例1

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$";
      //Reading input from user
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      //Instantiating the Pattern class
      Pattern pattern = Pattern.compile(regex);
      //Instantiating the Matcher class
      Matcher matcher = pattern.matcher(input);
      //verifying whether a match occurred
      if(matcher.find()) {
         System.out.println("Match found");
      }
      boolean result = matcher.requireEnd();
      if(result) {
         System.out.println("More input may turn the result of the match false");
      } else{
         System.out.println("The result of the match will be true, inspite of more data");
      }
   }
}

出力

Enter input text:
Hello how are you
Match found
More input may turn the result of the match false

例2

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 = "[#]";
      //Reading input from user
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      //Instantiating the Pattern class
      Pattern pattern = Pattern.compile(regex);
      //Instantiating the Matcher class
      Matcher matcher = pattern.matcher(input);
      //verifying whether a match occurred
      if(matcher.find()) {
         System.out.println("Match found");
      }
      boolean result = matcher.requireEnd();
      if(result) {
         System.out.println("More input may turn the result of the match false");
      } else{
         System.out.println("The result of the match will be true, inspite of more data");
      }
   }
}

出力

Enter input text:
Hello# how# are you
Match found
The result of the match will be true, in spite of more data

  1. 例を使用したJavaのマッチャーrequireEnd()メソッド

    java.util.regex.Matcher classは、さまざまな一致操作を実行するエンジンを表します。このクラスのコンストラクターはありません。クラスjava.util.regex.Patternのmatches()メソッドを使用して、このクラスのオブジェクトを作成/取得できます。 一致する場合は、 requireEnd() この(Matcher)クラスのメソッドは、一致結果がfalseになる可能性があるかどうかを検証します。入力が多い場合、このメソッドはtrueを返し、そうでない場合はfalseを返します。 たとえば、正規表現「you $」を使用して入力文字列の最後の単語を一

  2. 例を使用したJavaのマッチャーpattern()メソッド

    java.util.regex.Matcher classは、さまざまな一致操作を実行するエンジンを表します。このクラスのコンストラクターはありません。クラスjava.util.regex.Patternのmatches()メソッドを使用して、このクラスのオブジェクトを作成/取得できます。 pattern() この方法(マッチャー )クラスは、現在のマッチャーによって解釈されたパターン(オブジェクト)をフェッチして返します。 例1 import java.util.Scanner; import java.util.regex.Matcher; import java.util.reg