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

Explanation of Java regular expression construction 're?'

Teilausdruck/Der Metasymbol "re?" passt 0 oder mehr Mal dem vorherigen Ausdruck an.1.

Beispiel1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main( String args[] ) {
      String regex = "Wel?";
      String input = "Welcome to w3codebox";
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(input);
      int count = 0;
      while(m.find()) {
         count++;
      }
      System.out.println("Anzahl der Übereinstimmungen: ");+count);
   }
}

Ausgabeergebnis

Anzahl der Übereinstimmungen: 1

Beispiel2

Das folgende Java-Programm akzeptiert einen String vom Benutzer, überprüft, ob er Buchstaben (zwei Fälle) und Zahlen enthält.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main( String args[] ) {
      String regex = "[a-zA-Z][0-9]?";
      Scanner sc = new Scanner(System.in);
      System.out.println("Geben Sie einen Eingabestring ein: ");
      String input = sc.nextLine();
      //Erstellung eines Pattern-Objekts
      Pattern p = Pattern.compile(regex);
      //Erstellung eines Matcher-Objekts
      Matcher m = p.matcher(input);
      if(m.find()) {
         System.out.println("Treffer gefunden");
      } else {
         System.out.println("Kein Treffer");
      }
   }
}

Ausgabe1

Geben Sie einen Eingabestring ein:
Beispieltext
Treffer gefunden

Ausgabe2

Geben Sie einen Eingabestring ein:
Beispieltext 34 56
Treffer gefunden

Ausgabe3

Geben Sie einen Eingabestring ein:
32 89 45 63
Kein Treffer