Heim >Java >javaLernprogramm >Eine eingehende Analyse regulärer Java-Ausdrücke: Syntax von Quantoren, Zeichenklassen und Grenzübereinstimmung
Detaillierte Erklärung der Java-Syntax für reguläre Ausdrücke: Quantifizierer, Zeichenklassen und Grenzübereinstimmung
Reguläre Ausdrücke werden häufig beim String-Abgleich und bei der Verarbeitung in Java verwendet. In diesem Artikel werden Quantifizierer, Zeichenklassen und Grenzübereinstimmung in regulären Ausdrücken ausführlich vorgestellt und spezifische Codebeispiele gegeben.
1. Quantifizierer
Quantifizierer wird verwendet, um die Anzahl der Wiederholungen einer passenden Regel anzugeben. Zu den in Java häufig verwendeten Quantoren gehören:
Das Folgende ist ein konkretes Beispiel:
String str = "abcccdddeeeee"; String pattern1 = "c*"; System.out.println(str.matches(pattern1)); // 输出true String pattern2 = "d+"; System.out.println(str.matches(pattern2)); // 输出true String pattern3 = "e?"; System.out.println(str.matches(pattern3)); // 输出false String pattern4 = "c{2}"; System.out.println(str.matches(pattern4)); // 输出false String pattern5 = "c{3,}"; System.out.println(str.matches(pattern5)); // 输出true String pattern6 = "c{2,4}"; System.out.println(str.matches(pattern6)); // 输出true
Die Zeichenfolge im obigen Code ist eine Zeichenfolge, die verschiedene wiederholte Zeichen enthält. Als Nächstes werden einige reguläre Ausdrucksmuster definiert und mithilfe der Methode „matches()“ abgeglichen. Je nach Quantor können wir unterschiedliche Matching-Ergebnisse sehen.
2. Zeichenklasse
Die Zeichenklasse wird verwendet, um eine Sammlung von Zeichen anzugeben. Zeichenklassen in Java werden normalerweise mit [] definiert. Sie können Bereiche, Ausschlüsse und vordefinierte Zeichen verwenden, um eine Zeichenklasse zu definieren.
Hier ist ein konkretes Beispiel:
String str = "abc123"; String pattern1 = "[a-c]"; System.out.println(str.matches(pattern1)); // 输出true String pattern2 = "[0-9]"; System.out.println(str.matches(pattern2)); // 输出false String pattern3 = "[a-c0-9]"; System.out.println(str.matches(pattern3)); // 输出true String pattern4 = "[^a-z]"; System.out.println(str.matches(pattern4)); // 输出false String pattern5 = "\d"; System.out.println(str.matches(pattern5)); // 输出false String pattern6 = "\D"; System.out.println(str.matches(pattern6)); // 输出true
Str im obigen Code ist eine Zeichenfolge, die Buchstaben und Zahlen enthält. Als nächstes definieren wir einige Muster für reguläre Ausdrücke und verwenden die Methode „matches()“ zum Abgleichen. Abhängig von der Charakterklasse können wir unterschiedliche Übereinstimmungsergebnisse sehen.
3. Grenzübereinstimmung
Grenzübereinstimmung wird verwendet, um die Position einer Übereinstimmung einzuschränken. In Java gibt es die folgenden Grenzübereinstimmungssymbole:
Hier ist ein konkretes Beispiel:
String str = "hello world"; String pattern1 = "^hello"; System.out.println(str.matches(pattern1)); // 输出true String pattern2 = "world$"; System.out.println(str.matches(pattern2)); // 输出true String pattern3 = "\bhello"; System.out.println(str.matches(pattern3)); // 输出true String pattern4 = "\Bworld"; System.out.println(str.matches(pattern4)); // 输出false
Der str im obigen Code ist ein String, der einen Satz enthält. Als nächstes definieren wir einige Muster für reguläre Ausdrücke und verwenden die Methode „matches()“ zum Abgleichen. Abhängig von den Grenzübereinstimmungssymbolen können wir unterschiedliche Übereinstimmungsergebnisse sehen.
Zusammenfassung:
Dieser Artikel stellt Quantifizierer, Zeichenklassen und Grenzübereinstimmung in regulären Java-Ausdrücken vor und gibt spezifische Codebeispiele. In der tatsächlichen Programmierung sind reguläre Ausdrücke sehr nützliche Werkzeuge, die den Abgleich und die Verarbeitung von Zeichenfolgen vereinfachen können. Wenn Sie die grundlegende Verwendung dieser regulären Ausdrücke beherrschen, können Sie mit Java Zeichenfolgen effizienter verarbeiten.
Das obige ist der detaillierte Inhalt vonEine eingehende Analyse regulärer Java-Ausdrücke: Syntax von Quantoren, Zeichenklassen und Grenzübereinstimmung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!