English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die Klasse java.util.regex.Matcher stellt ein Motor für verschiedene Match-Operationen dar. Diese Klasse hat keinen Konstruktor und kann mitmatches()
Das Methode Pattern der Klasse java.util.regex erstellt/Erhalten Sie das Objekt dieser Klasse.
Ankerbereiche werden für Bereichsmatch verwendet, z.B. ^ und $. Standardmäßig verwendet der Matcher Ankerbereiche.
Diese KlasseMethodeuseAnchoringBounds()Die Methode akzeptiert einen Boolean-Wert. Wenn true an diese Methode übergeben wird, wird der aktuelle Matcher Ankerbereiche verwenden; wenn false übergeben wird, wird ein nicht fester Bereich verwendet.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Trail { public static void main( String args[] ) { //Lesen Sie den Stringwert Scanner sc = new Scanner(System.in); System.out.println("Geben Sie die Eingabezeichenfolge ein"); String input = sc.nextLine(); //Regulärer Ausdruck zum Suchen von Ziffern String regex = ".*\\d+.*"; //Kompilieren Sie den regulären Ausdruck Pattern pattern = Pattern.compile(regex); //Drucken Sie den regulären Ausdruck aus System.out.println("Kompilierte reguläre Ausdrucksformel: "+pattern.toString()); //Suchen Sie das Objekt des Matchers Matcher matcher = pattern.matcher(input); matcher.useAnchoringBounds(false); boolean hasBounds = matcher.hasAnchoringBounds(); if(hasBounds) { System.out.println("Der aktuelle Matcher verwendet Ankerbereiche"); } else { System.out.println("Der aktuelle Matcher verwendet nicht-Ankerbereiche"); } } }
Ausgabeergebnis
Geben Sie die Eingabezeichenfolge ein Beispiel Kompilierte reguläre Ausdrucksformel: .*\d+.* Der aktuelle Matcher verwendet nicht-Ankerbereiche
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Sample { public static void main( String args[] ) { String regex = "^<foo>.*"; String input = "<foo><bar>";//Hi</i></br> willkommen zu w3codebox"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); matcher = matcher.useAnchoringBounds(false); if(matcher.matches()) { System.out.println("Treffer gefunden"); } else { System.out.println("Treffer nicht gefunden"); } System.out.println("Hat keine Anker-Bounds:");+matcher.hasAnchoringBounds()); } }
Ausgabeergebnis
Treffer gefunden Hat keine Anker-Bounds: false