Ce face Pattern.matches
Pattern.matches(regex, text) compilează modelul, îl aplică și returnează true doar dacă tot textul se potrivește, de la primul la ultimul caracter. Este echivalent cu Pattern.compile(regex).matcher(text).matches() și cu text.matches(regex).
Este comod pentru o verificare rapidă. Dacă verifici multe texte cu același model, compilează modelul o dată cu Pattern.compile și refolosește-l.
Parametri
| Parametru | Descriere |
|---|---|
regex |
Modelul. |
text |
Textul verificat în întregime. |
Ce returnează
true dacă tot textul respectă modelul.
Exemple
Exemplul 1: Validarea unui cod poștal și a unui CNP (doar forma)
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
System.out.println(Pattern.matches("\\d{6}", "700506"));
System.out.println(Pattern.matches("\\d{6}", "70050"));
System.out.println(Pattern.matches("[1-8]\\d{12}", "2990101123456"));
System.out.println(Pattern.matches("[1-8]\\d{12}", "9990101123456"));
}
}
Rezultat
true
false
true
false
Exemplul 2: Tot textul, nu doar o parte
matches cere ca modelul să acopere tot textul. Pentru „conține” folosește find() sau adaugă .* la capete.
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String text = "Comanda 2026 a fost livrată";
System.out.println(Pattern.matches("\\d{4}", text));
System.out.println(Pattern.matches(".*\\d{4}.*", text));
System.out.println(Pattern.compile("\\d{4}").matcher(text).find());
}
}
Rezultat
false
true
true
Greșeli frecvente
- Aștepți
truepentru un text care doar conține modelul.matchesverifică tot textul. - Crezi că un regex validează complet un CNP sau un IBAN. Verifică doar forma; cifra de control trebuie calculată separat.
Comenzi înrudite
Pattern: O expresie regulată compilată; compile o pregătește o dată, matcher o aplică pe un text ca să cauți potriviri.Matcher: Obiectul care aplică un Pattern pe un text; matches verifică dacă tot textul se potrivește cu modelul.String.matches: Verifică dacă ÎNTREGUL șir se potrivește cu o expresie regulată (validare de formate).Matcher.find: find caută următoarea potrivire în text; group returnează textul găsit sau doar partea dintr-un grup (paranteze).