Java Tutorial

Expressions régulières Java


Qu’est-ce qu’une expression régulière ?

Une expression régulière est une séquence de caractères qui forme un modèle de recherche. Lorsque vous recherchez des données dans un texte, vous pouvez utiliser ce modèle de recherche pour décrire ce que vous recherchez.

Une expression régulière peut être un caractère unique ou un modèle plus compliqué.

Les expressions régulières peuvent être utilisées pour effectuer tous les types de recherche de texte et remplacement de texte
opérations.

Java n’a pas de classe d’expression régulière intégrée, mais nous pouvons importer le java.util.regex
package pour travailler avec des expressions régulières. Le forfait comprend les cours suivants :

  • Pattern Classe – Définit un modèle (à utiliser dans une recherche)
  • Matcher Classe – Utilisé pour rechercher le modèle
  • PatternSyntaxException Classe – Indique une erreur de syntaxe dans un modèle d’expression régulière

Exemple

Découvrez s’il y a des occurrences du mot « Infodewi » dans une phrase :

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
  public static void main(String[] args) {
    Pattern pattern = Pattern.compile("Infodewi", Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher("Visit Infodewi!");
    boolean matchFound = matcher.find();
    if(matchFound) {
      System.out.println("Match found");
    } else {
      System.out.println("Match not found");
    }
  }
}
// Outputs Match found

Essayez-le vous-même »

Exemple expliqué

Dans cet exemple, le mot « Infodewi » est recherché dans une phrase.

Tout d’abord, le motif est créé à l’aide de la Pattern.compile() méthode. Le premier paramètre indique quel modèle est recherché et le deuxième paramètre a un indicateur pour indiquer que la recherche doit être insensible à la casse. Le deuxième paramètre est facultatif.

Le matcher() La méthode est utilisée pour rechercher le motif dans une chaîne. Elle renvoie un objet Matcher qui contient des informations sur la recherche qui a été effectuée.

Le find() La méthode renvoie vrai si le motif a été trouvé dans la chaîne et faux s’il n’a pas été trouvé.



Drapeaux

Les drapeaux dans le compile() change la façon dont la recherche est effectuée. En voici quelques-uns :

  • Pattern.CASE_INSENSITIVE – La casse des lettres sera ignorée lors d’une recherche.
  • Pattern.LITERAL – Les caractères spéciaux du modèle n’auront aucune signification particulière et seront traités comme des caractères ordinaires lors de l’exécution d’une recherche.
  • Pattern.UNICODE_CASE – Utilisez-le avec le CASE_INSENSITIVE drapeau pour ignorer également la casse des lettres en dehors de l’alphabet anglais

Modèles d’expressions régulières

Le premier paramètre de la Pattern.compile() la méthode est le modèle. Il décrit ce qui est recherché.

Les parenthèses sont utilisées pour trouver une plage de caractères :

Expression Description
[abc] Trouvez un caractère parmi les options entre parenthèses
[^abc] Trouver un caractère NON entre parenthèses
[0-9] Trouver un caractère dans la plage de 0 à 9

Métacaractères

Les métacaractères sont des caractères ayant une signification particulière :

Métacaractère Description
| Trouvez une correspondance pour l’un des modèles séparés par | comme dans : chat|chien|poisson
. Trouver une seule instance de n’importe quel personnage
^ Trouve une correspondance comme début d’une chaîne comme dans : ^Hello
$ Trouve une correspondance à la fin de la chaîne comme dans : World$
d Trouver un chiffre
s Trouver un caractère d’espacement
b Trouvez une correspondance au début d’un mot comme celui-ci : bWORD, ou à la fin d’un mot comme celui-ci : WORDb
uxxxx Trouver le caractère Unicode spécifié par le nombre hexadécimal xxxx

Quantificateurs

Les quantificateurs définissent les quantités :

Quantificateur Description
n+ Correspond à toute chaîne contenant au moins un n
n* Correspond à toute chaîne contenant zéro ou plusieurs occurrences de n
n? Correspond à toute chaîne contenant zéro ou une occurrence de n
n{x} Correspond à toute chaîne contenant une séquence de X nc’est
n{x,y} Correspond à toute chaîne contenant une séquence de X à Y nc’est
n{x,} Correspond à toute chaîne contenant une séquence d’au moins X nc’est

#Expressions #régulières #Java

Articles similaires

Voir Aussi
Fermer
Bouton retour en haut de la page