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

Java RegExを使用して式のn回の出現回数を一致させる方法は?


Javaが提供する貪欲な数量詞を使用すると、式の複数の出現箇所を照合できます。どこで、

  • Exp {n}は、式expの出現を正確にn回強制します。

  • Exp {n、}は、式expの出現を少なくともn回強制します。

  • Exp {n、m}は、式expの出現を少なくともn回および最大m回強制します。

例1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main( String args[] ) {
      //regular expression to accept 5 letter word
      String regex = "\\w{5}";
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter 5 input strings: ");
      String input[] = new String[5];
      for (int i=0; i<5; i++) {
         input[i] = sc.nextLine();
      }
      //Creating a Pattern object
      Pattern p = Pattern.compile(regex);
      for(int i=0; i<5;i++) {
         //Creating a Matcher object
         Matcher m = p.matcher(input[i]);
         if(m.find()) {
            System.out.println(input[i]+": accepted");
         } else {
            System.out.println(input[i]+": not accepted");
         }
      }
   }
}

出力

Enter 5 input strings:
rama
raja
raghu
megha
malya
rama: not accepted
raja: not accepted
raghu: accepted
megha: accepted
malya: accepted

例2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main( String args[] ) {
      //Regular expression to match a string of non-word with length 2 to 6
      String regex = "\\W{2,6}";
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter 5 input strings: ");
      String input[] = new String[5];
      for (int i=0; i<5; i++) {
         input[i] = sc.nextLine();
      }
      //Creating a Pattern object
      Pattern p = Pattern.compile(regex);
      for(int i=0; i<5;i++) {
         //Creating a Matcher object
         Matcher m = p.matcher(input[i]);
         if(m.find()) {
            System.out.println(input[i]+" matched");
         }
      }
   }
}

出力1

Enter 5 input strings:
hello how are you
#$#%
#
#$@%%#&#&
sample text
#$#% matched
#$@%%#&#& matched

例3

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main(String args[] ) {
      String regex = "[a-zA-Z]{1,20}";
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter students name:");
      String name = sc.nextLine();
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(name);
      if(m.matches()) {
         System.out.println("Name is appropriate");
      } else {
         System.out.println("Name is inappropriate");
      }
   }
}

出力

Enter students name:
Mouktika
Name is appropriate

  1. JavaRegExを使用して固定文字セットを照合する方法

    文字クラスを使用すると、固定された文字セットから1つの文字を受け入れることができます。たとえば、 「[tmp]」という表現 」は文字tまたは、mまたは、pに一致します。 「[^tp]」という表現 」は、tまたはp以外の文字と一致します。 例1 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example {    public static void main(String args[]) { &nb

  2. JavaRegExを使用して任意の文字を照合する方法

    メタ文字「。」 Javaの正規表現は、任意の文字(単一)に一致します。アルファベット、数字、または任意の特殊文字にすることができます。 例1 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example {    public static void main(String args[]) {       //Reading String from user