Reguläre Ausdrücke sind bei der Verarbeitung von Zeichenfolgen sehr effizient
Bezüglich der Verwendung regulärer Ausdrücke geht es eher um meine eigenen Erfahrungen. Bei Interesse können Sie sich auf entsprechende Bücher beziehen.
Hier schreiben wir hauptsächlich über die regulären Betriebsmethoden in Java
Beispiel 1: Übereinstimmung Klassendemo {
public static void main(String[] args) {
Scanner sc = neuer Scanner(System.in);
//Eingabe erhalten
System.out.print("Bitte eingeben:");
String str = sc.nextLine();
check(str);
}
private static void check(String str) {
//Die erste übereinstimmende Ziffer ist 1-9, die zweite und die folgenden Ziffern sind 0-9 (die Zahl liegt zwischen 4-10)
String regex = "[1-9][0-9]{4,10}";
/*
//Übereinstimmung mit einem einzelnen Zeichen, das Groß- oder Kleinbuchstaben ist az
String regex = "[a-zA-Z]";
// Zahlen abgleichen, auf Escape-Zeichen achten
String regex = "//d";
//Nicht-Ziffern abgleichen
String regex = "//D";
*/
if(str.matches(regex)) {
System.out.println("Übereinstimmung erfolgreich");
} anders {
System.out.println("Abgleich fehlgeschlagen");
}
}
}
Beispiel 2: Schneiden
Klassendemo {
public static void main(String[] args) {
Scanner sc = neuer Scanner(System.in);
System.out.print("Bitte eingeben:");
String str = sc.nextLine();
split(str);
}
private static void split(String str) {
//Entspricht einem oder mehreren Leerzeichen
String regex = " +";
String[] arr = str.split(regex);
for (String s : arr) {
System.out.println(s);
}
}
}
Beispiel 3: Ersatz
Klassendemo {
public static void main(String[] args) {
Scanner sc = neuer Scanner(System.in);
System.out.print("Bitte eingeben:");
String str = sc.nextLine();
ersetzen(str);
}
private static void replace(String str) {
// Wiederholte Wörter zuordnen
String regex = "(.)//1+";
String s = str.replaceAll(regex, "*");
System.out.println(s);
}
}