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

例を使用したJavaのパターンLITERALフィールド


パターンのリテラル解析を有効にします。この場合、エスケープシーケンスやメタ文字を含むすべての文字には、リテラル文字として扱われる特別な意味はありません。

たとえば、通常、指定された入力テキストで正規表現「^ This」を検索すると、 "This"という単語で始まる行と一致します。 。

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class LTERAL_Example {
   public static void main(String[] args) {
      String input = "This is the first line\n"
         + "This is the second line\n"
         + "^This is the third line";
      //Regular expression to accept date in MM-DD-YYY format
      String regex = "^This";
      //Creating a Pattern object
      Pattern pattern = Pattern.compile(regex,Pattern.LITERAL);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
         System.out.println(matcher.group());
      }
      System.out.println("Number of matches: "+count);
   }
}

出力

^This
Number of matches: 1

リテラルモードでは、メタ文字「^」は意味を持たず、正規表現「^This」は正確な単語と一致します。

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class LTERAL_Example {
   public static void main(String[] args) {
      String input = "This is the first line\n"
         + "This is the second line\n"
         + "^This is the third line";
      //Regular expression to accept date in MM-DD-YYY format
      String regex = "^This";
      //Creating a Pattern object
      Pattern pattern = Pattern.compile(regex,Pattern.LITERAL);
      System.out.println("Usually it is printed as: \n"+input);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
         System.out.println(matcher.group());
      }
      System.out.println("Number of matches: "+count);
   }
}

出力

Usually it is printed as:
This is the first line
This is the second line
^This is the third line
^This
Number of matches: 1

  1. 例を含むJavaのパターンCOMMENTSフィールド

    PatternクラスのCOMMENTSフィールドでは、パターンに空白とコメントを含めることができます。これをcompile()メソッドのフラグ値として使用する場合、指定されたパターンでは、空白と#で始まるコメントは無視されます。 例1 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class COMMENTES_Example {    public static void main( String args[] ) { &nb

  2. 例を使用したJavaのパターンCANON_EQフィールド

    PatternクラスのCANON_EQフィールドは、正規に等しい場合にのみ2つの文字に一致します。これをcompile()メソッドのフラグ値として使用すると、完全な正規分解が等しい場合にのみ、2つの文字が一致します。 正規分解がUnicodeテキスト正規化形式の1つである場合 例1 import java.util.regex.Matcher; import java.util.regex.Pattern; public class CANON_EQ_Example {    public static void main( String args[] ) {