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
import java.util.regex.Matcher;
Le package Java regex comporte trois classes :
-
Classe de modèle : pour définir le modèle qui doit être recherché.
-
Classe Matcher : pour faire correspondre le motif dans le texte et le trouver.
-
Classe PatternSyntaxException : pour indiquer les erreurs de syntaxe dans l'expression régulière.
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
GO TO FULL VERSION