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

Metodo lookingAt() con esempio in Java

La classe java.util.regex.Matcher rappresenta un motore che esegue vari operazioni di corrispondenza. Questa classe non ha costruttore, può utilizzare il metodo matchs() della classe java.util.regex.Pattern per creare/ottenere un oggetto di questa classe.

MatcherClasselookingAt()Il metodo inizia dall'inizio dell'area e confronta il testo di input fornito con il modello. Se c'è una corrispondenza, questo metodo restituisce true, altrimenti restituisce false. A differenza del metodo matches(), questo metodo non richiede che l'intera area corrisponda per restituire true.

Esempio 1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main(String[] args) {
      String regex = "(.*)(\\d+)(.*)";
      String input = "Questo è un testo esempio, 1234, con numeri tra essi.";
         + "\n Questa è la seconda riga del testo"
         + "\n Questa è la terza riga del testo"
      //Creazione di un oggetto pattern
      Pattern pattern = Pattern.compile(regex);
      //Creazione di un oggetto Matcher
      Matcher matcher = pattern.matcher(input);
      //Verifica per la corrispondenza
      if(matcher.lookingAt()) {
         System.out.println("Corrispondenza trovata");
      } else {
         System.out.println("Corrispondenza non trovata");
      }
   }
}

Risultato di output

Corrispondenza trovata

Esempio 2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class LookingAtExample {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Inserisci String1: ");
      String input1 = sc.nextLine();
      System.out.println("Inserisci String2: ");
      String input2 = sc.nextLine();
      System.out.println("Inserisci String3: ");
      String input3 = sc.nextLine();
      String input = input1+"\n"+input2+"\n"+input3;
      System.out.println(input);
      //Espressione regolare per trovare una parola che contiene cifre
      String regex = ".*\\d+.*";
      //Compilazione dell'espressione regolare
      Pattern pattern = Pattern.compile(regex);
      //Recupero dell'oggetto matcher
      Matcher matcher = pattern.matcher(input);
      //Verifica se è avvenuta una corrispondenza
      boolean bool = matcher.lookingAt();
      if(bool) {
         System.out.println("Il dato di input contiene un numero");
      } else {
         System.out.println("Il dato di input non contiene alcun numero");
      }
   }
}

Risultato di output

Inserisci Stringa1:
testo di esempio2
Inserisci Stringa2:
dati
Inserisci Stringa3:
esempio
testo di esempio2
dati
esempio
Il dato di input contiene un numero