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

例を使用したJavaのパターンflags()メソッド


java.regexのパターンクラス packageは、正規表現をコンパイルしたものです。

compile() このクラスのメソッドは、正規表現を表す文字列値を受け入れ、パターンを返します。 オブジェクトの場合、以下はこのメソッドのシグネチャです。

static Pattern compile(String regex)

このメソッドの別の変形は、フラグを表す整数値を受け入れます。以下は、2つのパラメーターを持つコンパイルメソッドのシグネチャです。

static Pattern compile(String regex, int flags)

パターン クラスは、それぞれがフラグを表すさまざまなフィールドを提供します

S.No フィールドと説明
1 CANON_EQ
正規に等しい場合にのみ、2つの文字に一致します。
2 CASE_INSENSITIVE
大文字と小文字に関係なく文字に一致します。
3 コメント
パターン内の空白とコメントを許可します。
4 DOTALL
dotallモードを有効にします。どこ "。"メタ文字は、行末記号を含むすべての文字と一致します。
5 リテラル
パターンのリテラル解析を有効にします。つまり、入力シーケンス内のすべてのメタ文字とエスケープシーケンスは、リテラル文字として扱われます。
6 マルチライン
マルチラインモードを有効にします。つまり、入力シーケンス全体が1行として扱われます。
7 UNICODE_CASE
Unicode対応の大文字と小文字の区別を有効にします。つまり、CASE_INSENSITIVEと一緒に使用します。正規表現を使用してUnicode文字を検索すると、両方の場合のUnicode文字が一致します。
8 UNICODE_CHARACTER_CLASS
Unicodeバージョンの定義済み文字クラスとPOSIX文字クラスを有効にします。
9 UNIX_LINES
このフラグは、Unix回線モードを有効にします。

flags() このクラスのメソッドは、現在のパターンで使用されているフラグを返します。

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class COMMENTES_Example {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter your name: ");
      String name = sc.nextLine();
      System.out.println("Enter your Date of birth: ");
      String dob = sc.nextLine();
      //Regular expression to accept date in MM-DD-YYY format
      String regex = "^(1[0-2]|0[1-9])/ # For Month\n" + "(3[01]|[12][0-9]|0[1-9])/ # For Date\n"
+ "[0-9]{4}$ # For Year";
      //Creating a Pattern object
      Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(dob);
      boolean result = matcher.matches();
      if(result) {
         System.out.println("Given date of birth is valid");
      } else {
         System.out.println("Given date of birth is not valid");
      }
      System.out.println("Flag used: "+ pattern.flags());
   }
}

出力

Enter your name:
Krishna
Enter your Date of birth:
09/26/1989
Given date of birth is valid
Flag used: 4

  1. 例を使用したJavaのパターンcompile()メソッド

    java.regexのパターンクラス packageは、正規表現をコンパイルしたものです。 compile() このクラスのメソッドは、正規表現を表す文字列値を受け入れ、Patternオブジェクトを返します。 例 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CompileExample {    public static void main( String args[] ) {     &

  2. 例を使用したJavaのMatchermatches()メソッド

    java.util.regex.Matcherクラスは、さまざまな一致操作を実行するエンジンを表します。このクラスのコンストラクタはありません。クラスjava.util.regex.Patternのmatches()メソッドを使用して、このクラスのオブジェクトを作成/取得できます。 matchs() このクラスのメソッドは、正規表現で表されるパターンと文字列を照合します(両方ともこのオブジェクトの作成中に指定されます)。一致する場合、このメソッドはtrueを返し、そうでない場合はfalseを返します。この方法の結果が真であるためには、領域全体が一致している必要があります。 例 import