English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
cede java.util.regex.MatcherLa classe représente un moteur, effectuant diverses opérations de correspondance. Cette classe n'a pas de constructeur, et elle peut être utiliséematches()
La méthode de création de la classe java.util.regex.Pattern/obtenir des objets de cette classe.
deuxcorrespondre()ettrouver()Les méthodes d'essai de la classe Matcher pour trouver des correspondances en fonction de l'expression régulière dans la chaîne d'entrée. Si une correspondance est trouvée, les deux retournent true, si elle n'est pas trouvée, les deux méthodes retournent false.
La principale différence réside dansmatches()
La méthode essaie de correspondre à l'ensemble de l'entrée donnée, c'est-à-dire, si vous essayez de chercher un nombre dans une ligne, cette méthode retourne true uniquement si l'entrée est présente dans toutes les lignes de la région.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { String regex = "(.*)"(\\d+)".* String input = "This is a sample Text, 1234, with numbers in between. " + "\n This is the second line in the text " + "\n This is third line in the text"; //Créer un objet modèle Pattern pattern = Pattern.compile(regex); //Créer un objet Matcher Matcher matcher = pattern.matcher(input); if(matcher.matches()) { else { } System.out.println("Ne trouve pas d'élément correspondant"); } } }
Résultat de la sortie
pas de correspondance trouvée
et celui-cifind()
La méthode essaie de trouver le prochain sous-chaîne correspondant au modèle, c'est-à-dire, si au moins une correspondance est trouvée dans cette région, cette méthode retourne true.
Si vous regardez l'exemple suivant, nous essayons de correspondre les lignes spécifiques aux nombres au milieu.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { String regex = "(.*)"(\\d+)".* String input = "This is a sample Text, 1234, with numbers in between. " + "\n This is the second line in the text " + "\n This is third line in the text"; //Créer un objet modèle Pattern pattern = Pattern.compile(regex); //Créer un objet Matcher Matcher matcher = pattern.matcher(input); //System.out.println("Portée actuelle : "+input.substring(regStart, regEnd)); if(matcher.find()) { else { } System.out.println("Ne trouve pas d'élément correspondant"); } } }
Résultat de la sortie
Trouver l'élément correspondant