Beim Mustervergleich wird eine Zeichenfolge abgerufen, die einem bestimmten Muster entspricht. Java stellt die Musterklasse und die Matcher-Klasse bereit, die speziell für den Mustervergleich verwendet werden. Diese Klassen befinden sich im Paket java.util.regex.
Lassen Sie uns als Nächstes über die Schritte zur Verwendung der Pattern-Klasse und der Matcher-Klasse sprechen, vorausgesetzt, es gibt eine Zeichenfolge:
Stringinput=Hallo, guten Morgen, das ist eine gute Idee;
Wir möchten wissen, wo die Eingabe beginnt und endet, wo die Zeichenfolge „good“ erscheint.
Zuerst müssen wir ein Musterobjekt erstellen und den regulären Ausdruck Regex als Parameter verwenden, um ein Instanzmuster der Musterklasse namens Muster zu erhalten:
Patternpattern=Pattern.compile(regex);
Zum Beispiel:
Stringregex=good;pattern=Pattern.compile(regex);
Musterobjekte sind Kapselungen regulärer Ausdrücke. Die Pattern-Klasse ruft die Klassenmethode „compile(String regex)“ auf, um ein Musterobjekt zurückzugeben, wobei der Parameter „regex“ ein regulärer Ausdruck ist, der als das vom Musterobjekt verwendete Muster bezeichnet wird.
Wenn der durch den Regex-Parameter angegebene reguläre Ausdruck falsch ist, löst die Complie-Methode eine Ausnahme „PatternSyntaxException“ aus.
Die Pattern-Klasse kann auch die Klassenmethode „compile(String regex, int flags)“ aufrufen, um ein Pattern-Objekt zurückzugeben. Die Parameterflags können die folgenden gültigen Werte annehmen:
Pattern.CASE_INSENSITIVEPattern.MULTILINEPattern.DOTALLPattern.UNICODE_CASEPattern.CANON_EQ
Beispiel: Flags nimmt den Wert Pattern.CASE_INSENSITIVE an und die Groß-/Kleinschreibung wird beim Mustervergleich ignoriert.