Une expression régulière est une chaîne de caractères String décrivant un motif dans une séquence de caractères. Grâce à cet outil, il est possible de valider une séquence de caractères, vérifier la validité d'une chaîne (mail, mot de passe), rechercher dans une chaîne de caractères et réaliser un remplacement par exemple.
Dans cet article nous allons aborder rapidement les Regex dans le language Java.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Regex {
public static void main(final String[] args) {
// final String chaine = "ABC1DEF2DEFDMM";
// final String chaine = "ABC1ABC2DEF";
final String chaine = "ABC1ABC2DEFABCMM";
// final Pattern p = Pattern.compile("(ABC)((((?!DEF).)*)||(((?!MM).)*))((DEF)|(MM))");
// final Pattern p = Pattern.compile("(ABC)(((?!DEF).)*)((DEF))");
final Pattern p = Pattern.compile("(ABC)(((?!ABC).)*)((DEF)|(MM))");
final Matcher m = p.matcher(chaine);
while (m.find()) {
System.out.println(m.group());
}
}
}
import java.util.regex.Pattern;
public class Regex {
public static void main(final String[] args) {
final String chaine1 = "Test regex Java pour Wikibooks francophone.";
System.out.println(Pattern.matches("[a-z]* Wikibooks", chaine1)); // false
System.out.println(Pattern.matches("[a-zA-Z ]* francophone\\.", chaine1)); // true
}
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Regex {
public static void main(final String args[]) {
Pattern pattern = Pattern.compile("Hugo");
Matcher matcher = pattern.matcher("Hugo Etiévant");
while (matcher.find()) {
System.out.println("Trouvé !");
}
}
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Regex {
public static void main(final String args[]) {
Pattern pattern = Pattern.compile("chats");
Matcher matcher = pattern.matcher("Les chats sont des annimaux domestisques, les chats sont nos amis");
String newStr = matcher.replaceFirst("chiens");
System.out.println(newStr); // Les chiens sont des annimaux domestisques, les chats sont nos amis
}
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Regex {
public static void main(final String args[]) {
final Pattern pattern = Pattern.compile("chats");
final Matcher matcher = pattern.matcher("Les chats sont des annimaux domestisques, les chats sont nos amis");
final String newStr = matcher.replaceAll("chiens");
System.out.println(newStr); // Les chiens sont des annimaux domestisques, les chiens sont nos amis
}
}
Pour plus d'informations (en vue de ne pas réinventer la roue) :
Regex déjà existantes pour des situations courantes :
LauLem.com - Conditions Générales d'Utilisation - Informations Légales - Charte relative aux cookies - Charte sur la protection des données personnelles - A propos