Les expressions régulières sont assez efficaces dans le traitement des chaînes
Concernant l'utilisation des expressions régulières, il s'agit davantage de ma propre expérience. Si vous êtes intéressé, vous pouvez vous référer à des livres pertinents.
Ici, nous écrivons principalement sur les méthodes de fonctionnement régulières en Java
Exemple 1 : Correspondance Démo de classe {
public static void main (String[] arguments) {
Scanner sc = nouveau scanner (System.in);
//Obtenir une entrée
System.out.print("Veuillez saisir :");
String str = sc.nextLine();
check(str);
}
contrôle d'annulation statique privé (String str) {
//Le premier chiffre correspondant est de 1 à 9, le deuxième chiffre et les chiffres suivants sont de 0 à 9 (le nombre est compris entre 4 et 10)
Expression régulière de chaîne = "[1-9][0-9]{4,10}" ;
/*
// Correspond à un seul caractère majuscule ou minuscule az
Expression régulière de chaîne = "[a-zA-Z]" ;
// Faites correspondre les nombres, faites attention aux caractères d'échappement
Expression régulière de chaîne = "//d" ;
// fait correspondre les non-chiffres
Expression régulière de chaîne = "//D" ;
*/
if(str.matches(regex)) {
System.out.println("Correspondance réussie");
} autre {
System.out.println("Échec de la correspondance");
}
}
}
Exemple 2 : Découpe
Démo de classe {
public static void main (String[] arguments) {
Scanner sc = nouveau scanner (System.in);
System.out.print("Veuillez saisir :");
String str = sc.nextLine();
split(chaîne);
}
split de vide statique privé (String str) {
// Correspond à un ou plusieurs espaces
Chaîne regex = " +" ;
String[] arr = str.split(regex);
pour (Chaîne s : arr) {
System.out.println(s);
}
}
}
Exemple 3 : Remplacement
Démo de classe {
public static void main (String[] arguments) {
Scanner sc = nouveau scanner (System.in);
System.out.print("Veuillez saisir :");
String str = sc.nextLine();
remplacer(str);
}
remplacement de vide statique privé (String str) {
// Faire correspondre les mots répétés
Expression régulière de chaîne = "(.)//1+" ;
Chaîne s = str.replaceAll(regex, "*");
System.out.println(s);
}
}