English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Wie verwendet man Java RegEx, um ein Ausdruck n-mal zu matchen?

Java bietet greedige Quantoren, mit denen Sie wiederholte Ausdrücke matchen können. Wo,

  • Exp {n} erzwingt, dass der Ausdruck exp genau n-mal vorkommt.

  • Exp {n,} erzwingt, dass der Ausdruck exp mindestens n-mal vorkommt.

  • Exp {n,m} erzwingt, dass der Ausdruck exp mindestens n- und höchstens m-mal vorkommt.

Beispiel1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main( String args[] ) {
      //正则表达式接受5buchstaben bestehende Wörter
      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();
      }
      //Erstellen Sie ein Pattern-Objekt
      Pattern p = Pattern.compile(regex);
      for(int i=0; i<5;i++) {
         //Erstellen Sie ein Matcher-Objekt
         Matcher m = p.matcher(input[i]);
         if(m.find()) {
            System.out.println(input[i]+": akzeptiert");
         } else {
            System.out.println(input[i]+": nicht akzeptiert");
         }
      }
   }
}

Ausgabeergebnis

Eingeben 5 Eingabestringe:
rama
raja
raghu
megha
malya
rama: nicht akzeptiert
raja: nicht akzeptiert
raghu: accepted
megha: accepted
malya: accepted

Beispiel2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main( String args[] ) {
      //正则表达式匹配长度为2到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();
      }
      //Erstellen Sie ein Pattern-Objekt
      Pattern p = Pattern.compile(regex);
      for(int i=0; i<5;i++) {
         //Erstellen Sie ein Matcher-Objekt
         Matcher m = p.matcher(input[i]);
         if(m.find()) {
            System.out.println(input[i]+" matched");
         }
      }
   }
}

Ausgabe1

Eingeben 5 Eingabestringe:
hello how are you
#$#%
#
#$@%%#&#&
Beispieltext
#$#% matched
#$@%%#&#& matched

Beispiel3

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,2"0"
      Scanner sc = new Scanner(System.in);
      System.out.println("Geben Sie den Namen des Schülers ein:");
      String name = sc.nextLine();
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(name);
      if(m.matches()) {
         System.out.println("Name ist angemessen");
      } else {
         System.out.println("Name ist unangemessen");
      }
   }
}

Ausgabeergebnis

Geben Sie den Namen des Schülers ein:
Mouktika
Name ist angemessen