Espace blanc Regex en Java
Une expression régulière ou regex est une combinaison de caractères spéciaux qui crée un modèle de recherche qui peut être utilisé pour rechercher certains caractères dans les chaînes. Dans l’exemple suivant, nous verrons comment nous pouvons utiliser divers caractères regex pour trouver des espaces dans une chaîne.
Trouver un espace blanc à l’aide d’expressions régulières en Java
Pour utiliser le modèle de recherche de regex et voir si la chaîne donnée correspond à la regex, nous utilisons la méthode statique matches()
de la classe Pattern
. La méthode matches()
prend deux arguments : le premier est l’expression régulière et le second est la chaîne que nous voulons faire correspondre.
Les caractères regex les plus courants pour trouver des espaces blancs sont \s
et \s+
. La différence entre ces caractères regex est que \s
représente un seul caractère d’espace tandis que \s+
représente plusieurs espaces dans une chaîne.
Dans le programme ci-dessous, nous utilisons Pattern.matches()
pour vérifier les espaces en utilisant la regex \s+
puis la chaîne avec trois espaces. Ensuite, nous imprimons whitespaceMatcher1
qui renvoie true
, ce qui signifie que le motif correspond et trouve des espaces blancs.
Dans whitespaceMatcher2
, nous utilisons le caractère \s
pour identifier un espace blanc unique qui renvoie vrai pour la chaîne " "
. Notez que les expressions régulières sont sensibles à la casse et que \S
est différent de \s
.
Ensuite, nous utilisons la regex [\\t\\p{Zs}]
qui équivaut à \s
et renvoie vrai pour un seul espace.
\u0020
est un caractère Unicode représentant un espace et renvoie vrai lorsqu’une chaîne avec un seul espace est transmise.
Et la dernière regex \p{Zs}
est également un séparateur d’espaces blancs qui identifie les espaces blancs.
import java.util.regex.Pattern;
public class RegWhiteSpace {
public static void main(String[] args) {
boolean whitespaceMatcher1 = Pattern.matches("\\s+", " ");
boolean whitespaceMatcher2 = Pattern.matches("\\s", " ");
boolean whitespaceMatcher3 = Pattern.matches("[\\t\\p{Zs}]", " ");
boolean whitespaceMatcher4 = Pattern.matches("\\u0020", " ");
boolean whitespaceMatcher5 = Pattern.matches("\\p{Zs}", " ");
System.out.println("\\s+ ----------> " + whitespaceMatcher1);
System.out.println("\\s -----------> " + whitespaceMatcher2);
System.out.println("[\\t\\p{Zs}] --> " + whitespaceMatcher3);
System.out.println("\\u0020 ------->" + whitespaceMatcher4);
System.out.println("\\p{Zs} ------->" + whitespaceMatcher5);
}
}
Production :
\s+ ----------> true
\s -----------> true
[\t\p{Zs}] --> true
\u0020 ------->true
\p{Zs} ------->true
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn