Reguläre Ausdrücke definieren Muster von Zeichenfolgen.
Reguläre Ausdrücke können zum Suchen, Bearbeiten oder Bearbeiten von Text verwendet werden.
Reguläre Ausdrücke sind nicht auf eine Sprache beschränkt, es gibt jedoch in jeder Sprache subtile Unterschiede.
In Java ist eine Zeichenfolge eigentlich ein einfacher regulärer Ausdruck. Beispielsweise entspricht der reguläre Ausdruck „Hello World“ der Zeichenfolge „Hello World“.
Das Paket ava.util.regex enthält hauptsächlich die folgenden drei Klassen:
1. Musterklasse: Das Musterobjekt ist eine kompilierte Darstellung eines regulären Ausdrucks. Die Pattern-Klasse hat keinen öffentlichen Konstruktor.
Um ein Pattern-Objekt zu erstellen, müssen Sie zunächst seine öffentliche statische kompilierte Methode aufrufen, die ein Pattern-Objekt zurückgibt. Diese Methode akzeptiert einen regulären Ausdruck als ersten Parameter.
2.Matcher-Klasse: Das Matcher-Objekt ist eine Engine, die Eingabezeichenfolgen interpretiert und abgleicht. Wie die Pattern-Klasse verfügt auch Matcher über keinen öffentlichen Konstruktor.
Sie müssen die Matcher-Methode des Pattern-Objekts aufrufen, um ein Matcher-Objekt zu erhalten.
3.PatternSyntaxException: PatternSyntaxException ist eine nicht obligatorische Ausnahmeklasse, die einen Syntaxfehler in einem regulären Ausdrucksmuster darstellt.
Die Erfassungsgruppe ist eine Methode zur Verarbeitung mehrerer Zeichen als eine Einheit. Sie wird durch Gruppieren von Zeichen in Klammern erstellt.
String line = „Diese Bestellung wurde für QT3000 aufgegeben! OK?“ //Geben Sie
ein String pattern = "(\D*)(\d+)(.*)" //Unsere drei Erfassungsgruppen
Da wir drei () haben, werden am Ende drei Gruppen gebildet. Gemäß dem obigen regulären Ausdruck lautet das Ergebnis:
Diese Bestellung wurde für QT
aufgegeben 3000
! Okay?
Es ist zu beachten, dass bei Verwendung eines Matcher-Objekts die Gruppe (0) die ursprüngliche Zeichenfolge (die gesamte Zeichenfolge) ist.
In der tatsächlichen Entwicklung verwenden wir der Einfachheit halber selten die Pattern-Klasse oder die Matcher-Klasse direkt, sondern die Methoden unter der String-Klasse
Überprüfung: boolesche Übereinstimmungen (String-Regex)
Split: String[] split(String regex)
Ersetzung: String replaceAll(String regex, String replacement)
In anderen Sprachen bedeutet \: Ich möchte einen normalen (wörtlichen) Backslash in den regulären Ausdruck einfügen, bitte geben Sie ihm keine besondere Bedeutung.
In Java bedeutet \: Ich möchte einen Backslash für einen regulären Ausdruck einfügen, damit die Zeichen danach eine besondere Bedeutung haben.
Daher reicht in anderen Sprachen (z. B. Perl) ein Backslash aus, um den Escape-Effekt zu erzielen, in Java sind jedoch zwei Backslashes im regulären Ausdruck erforderlich, um in anderen Sprachen als Escape-Effekt analysiert zu werden. Es kann auch einfach verstanden werden, dass in den regulären Ausdrücken von Java zwei \ eins darstellen. Aus diesem Grund ist der reguläre Ausdruck, der eine einzelne Ziffer darstellt, \d und der reguläre Ausdruck, der einen gewöhnlichen Backslash darstellt, ist \\.
Java ist eine objektorientierte Sprache, daher gibt es keine Funktionen, sondern nur Methoden, aber im Allgemeinen sind Funktionen und Methoden in der Anwendung ähnlich.
Methodenname des Modifikator-Rückgabewerttyps (Parametername des Parametertyps)
{
...
Methodenkörper
...
Rückgabewert zurückgeben;
}
Schauen wir uns ein praktisches Beispiel an. Diese Methode gibt den Maximalwert der beiden Parameter zurück:
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
Ergebnis = num1;
sonst
Ergebnis = num2;
Rückgabeergebnis;
}
Es ist im Grunde dasselbe wie eine Funktion, aber beachten Sie, dass JAVA ein Objekt ist, Sie müssen also darauf achten, welche Methode in welcher Klasse ist.
Java unterstützt das Überladen von Funktionen genau wie C++.
Java unterstützt die Übergabe variabler Parameter desselben Typs an eine Methode:
printMax(34, 3, 3, 2, 56.5);
printMax(new double[]{1, 2, 3});
Das obige ist der detaillierte Inhalt vonSo definieren und verwenden Sie reguläre Java-Ausdrücke und -Methoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!