Die Operationen, die reguläre Ausdrücke für String verwenden können, nutzen tatsächlich die Funktionen von java.util.regex.Pattern und java.util.regex.Matcher. Beim Aufruf der Methode „matches()“ von String wird tatsächlich die statische Methode „matches()“ von Pattern aufgerufen. Diese Methode gibt einen booleschen Wert zurück, der angibt, ob die Zeichenfolge mit dem regulären Ausdruck übereinstimmt.
Wenn Sie den regulären Ausdruck als Objekt zur Wiederverwendung behandeln möchten, können Sie ihn mit der statischen Methode „compile()“ von Pattern kompilieren. Die Methode „compile()“ gibt eine Pattern-Instanz zurück, die einen regulären Ausdruck darstellt. Sie können dann die Methode „matcher()“ der Pattern-Instanz wiederverwenden, um eine Matcher-Instanz zurückzugeben, die eine Instanz darstellt, die mit dem regulären Ausdruck übereinstimmt Auf dieser Instanz stehen Methoden zur Verfügung, die reguläre Ausdrucksbedingungen erfüllen. Beispiel 6.11 demonstriert dies.
** Beispiel 6.11UsePatternMatcher.java
import java.util.regex.*;
öffentliche Klasse UsePatternMatcher {
public static void main(String[] args) {
String phone1 =
„Justins Handynummer: 0939-100391n“ +
„Handynummer meiner Mutter: 0939-666888n“;
Mustermuster = Pattern.compile(".*0939-\d{6}");
Matcher matcher = pattern.matcher(phones1);
while(matcher.find()) {
System.out.println(matcher.group());
}
String phone2 =
„Handynummer von Caterpillar: 0952-600391n“ +
„Bushs Handynummer: 0939-550391“;
matcher = pattern.matcher(phones2);
while(matcher.find()) {
System.out.println(matcher.group());
}
}
}
Beispiel 6.11 sucht nach Nummern, die mit 0939 beginnen. Unter der Annahme, dass die Nummern aus mehr als einer Quelle stammen (z. B. Telefone1, Telefone2), können Sie den regulären Ausdruck kompilieren und ein Musterobjekt zurückgeben. Dieses Musterobjekt können Sie dann beim Vergleich wiederverwenden. Verwenden Sie matcher(), um passende Matcher-Instanzen zurückzugeben. Die Methode find() gibt an, ob eine passende Zeichenfolge vorhanden ist, und die Methode group() kann die passende Zeichenfolge zurückgeben. Die Ausführungsergebnisse des Programms sind wie folgt:
Justins Handynummer: 0939-100391
Momors Handynummer: 0939-666888
Bushs Handynummer: 0939-550391
Schreiben wir Beispiel 6.9 mit Pattern und Matcher um, damit das Programm Zeichenfolgen zurückgeben kann, die mit dem regulären Ausdruck übereinstimmen, anstatt Zeichenfolgen zurückzugeben, die nicht übereinstimmen.
** Beispiel 6.12RegularExpressionDemo2.java
import java.util.regex.*;
öffentliche Klasse RegularExpressionDemo2 {
public static void main(String[] args) {
String text = "abcdebcadxbc";
Mustermuster = Pattern.compile(".bc");
Matcher matcher = pattern.matcher(text);
while(matcher.find()) {
System.out.println(matcher.group());
}
System.out.println();
}
}
style='font-family:宋体'>Ausführungsergebnisse:
ABC
ebc
xbc
Dieser Artikel stammt aus dem CSDN-Blog. Bitte geben Sie beim Nachdruck die Quelle an: http://blog.csdn.net/wofe912/archive/2009/12/18/5030571.aspx