CodeGym/Blog Java/Random-FR/Java Regex - Matcheur
John Squirrels
Niveau 41
San Francisco

Java Regex - Matcheur

Publié dans le groupe Random-FR
membres

Qu’est-ce qu’une Regex en Java ?

Une expression régulière ou regex est une séquence de caractères qui forment un modèle. Lorsque vous recherchez des données, vous pouvez utiliser ce modèle spécialisé pour trouver des chaînes correspondantes. Cela peut être aussi simple qu’un seul caractère ou un motif plus complexe. En Java, vous disposez d'un package d'expressions régulières Java contenant des classes permettant d'utiliser des expressions régulières pour la recherche et la manipulation de modèles. Ce package est importé dans votre code de la manière suivante.
import java.util.regex.*;

Java Regex - Matcheur

La classe Java Matcher fournit une correspondance de modèles avec des expressions régulières.
Cette ligne de code importe toutes les classes disponibles dans le package regex. Si vous souhaitez importer uniquement la classe Matcher , vous pouvez l'importer en utilisant la ligne de code suivante.
import java.util.regex.Matcher;
Le package Java regex comporte trois classes :
  1. Classe de modèle : pour définir le modèle qui doit être recherché.

  2. Classe Matcher : pour faire correspondre le motif dans le texte et le trouver.

  3. Classe PatternSyntaxException : pour indiquer les erreurs de syntaxe dans l'expression régulière.

Son fonctionnement est assez simple. Tout d’abord, vous créez un objet Pattern à partir de l’expression régulière pour définir un modèle. Ensuite, un objet Matcher est créé à l'aide de l' objet Pattern . La classe Matcher possède de nombreuses méthodes. La plus importante d'entre elles est la méthode matches() qui renvoie true si l'expression régulière correspond au texte, sinon elle renvoie false . Java Matcher Class propose de nombreuses autres méthodes utiles pour remplacer le texte dans les chaînes d'entrée qui exécutent des fonctions plus complexes que les méthodes replace() en Java. Il n'existe que deux méthodes replace() en Java, alors que la classe Matcher fournit plusieurs fonctions pour cette tâche.

Méthodes de classe Java Matcher

Certaines des méthodes de la classe Java Matcher sont décrites ci-dessous.
  • boolean matches() — renvoie vrai si l'expression régulière correspond au modèle.

  • boolean find() — trouve la prochaine expression régulière qui correspond au modèle.

  • boolean find(int start) — recherche l'expression régulière suivante qui correspond au modèle du début donné.

  • int start() — renvoie l'index de départ de la correspondance.

  • int end() — renvoie l'index de fin de la correspondance renvoyée.

  • int groupCount() — renvoie le nombre total de groupes dans la correspondance.

  • String replaceAll(String remplacement) — remplace chaque sous-séquence de la correspondance par le remplacement donné.

  • String replaceFirst(String remplacement) — remplace la première sous-séquence de la correspondance par le remplacement donné.

Exemple de correspondance Java

Il existe de nombreuses méthodes utiles pour la classe Matcher , cependant, nous examinerons plus en détail le(s) exemple(s) spécifique(s) de la méthode matches() .

Utiliser la méthode matches()

Ce qui suit montre un exemple de Java Matcher pour la méthode matches() .
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Example {

	public static void main(String[] args) {

		String regexPattern = "(.*)apple(.*)"; // this regex means that any char sequence can precede or succeed "apple"
		String firstCheck = "Apples";
		String secondCheck = "Apple";
		String thirdCheck = "apple";
		String fourthCheck = "An apple a day keeps the doctor away.";
		String fifthCheck = "green apple, yellow apple, red apple, i love all kinds of apples.";


		Pattern pattern = Pattern.compile(regexPattern);
		Matcher matcher1 = pattern.matcher(firstCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + firstCheck);
		System.out.println("Output for matches(): " + matcher1.matches() + "\n");

		Matcher matcher2 = pattern.matcher(secondCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + secondCheck);
		System.out.println("Output for matches(): " + matcher2.matches() + "\n");

		Matcher matcher3 = pattern.matcher(thirdCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + thirdCheck);
		System.out.println("Output for matches(): " + matcher3.matches() + "\n");

		Matcher matcher4 = pattern.matcher(thirdCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + fourthCheck);
		System.out.println("Output for matches(): " + matcher4.matches() + "\n");

		Matcher matcher5 = pattern.matcher(fifthCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + fifthCheck);
		System.out.println("Output for matches(): " + matcher5.matches() + "\n");
	}
}
Sortir
Le modèle est : (.*)apple(.*) Le texte à vérifier est : Apples Sortie pour les correspondances() : false Le modèle est : (.*)apple(.*) Le texte à vérifier est : Apple Sortie pour les correspondances() : false Le modèle est : (.*)apple(.*) Le texte à vérifier est : apple Sortie pour matches() : true Le modèle est : (.*)apple(.*) Le texte à vérifier est : Une pomme par jour Éloigne le médecin. Sortie pour matches() : true Le modèle est : (.*)apple(.*) Le texte à vérifier est : pomme verte, pomme jaune, pomme rouge, j'aime toutes sortes de pommes. Sortie pour matches() : true

Conclusion

À la fin de cet article, nous espérons que vous vous êtes familiarisé avec la classe Java Matcher en Java. Vous avez appris à l'utiliser dans votre code. Vous avez également appris à appeler la méthode matches() de Matcher Class. Vous pouvez essayer par vous-même d’autres méthodes de la classe Matcher pour la comprendre plus en profondeur. Continuez à vous entraîner pour une maîtrise plus approfondie du concept. D’ici là, continuez à grandir et continuez à briller !
Commentaires
  • Populaires
  • Nouveau
  • Anciennes
Tu dois être connecté(e) pour laisser un commentaire
Cette page ne comporte pas encore de commentaires