English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Matcher useAnchoringBounds () Methode mit Beispiel in Java

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.

Beispiel1

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

Beispiel2

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