Comment écrire Regex en Java

Comment écrire Regex en Java

Le Expirat (acronyme du expression régulière) est une séquence de personnages qui nous aide à rechercher et à manipuler les cordes. Expressions régulières Peut être utilisé dans tous les langages de programmation tels que Java, C ++, etc. Pour bénéficier des fonctionnalités du expirat, Java fournit un package intégré Java.user.expirat qui contient trois classes Modèle, Correspondant, et PatternSyntaxException.

Cette rédaction fournira un aperçu complet de la façon d'écrire Regex en Java et pour le faire, nous devons comprendre les concepts suivants:

  • Java.user.package regex
  • Création de motifs et correspondance de motifs en regex
  • Drapeaux et motifs à regex
  • Metacharacters en regex
  • Quantifiers en regex
  • Comment écrire Regex en Java

Alors, commençons!

Java.user.package regex

Il s'agit d'un ensemble d'accumulation qui comprend trois classes: un Modèle classe pour définir un modèle qui sera utilisé dans la recherche, un Correspondant classe qui peut être utilisée pour rechercher un modèle et un PatternSyntaxException classe pour indiquer une erreur / exception de syntaxe dans un expirat modèle.

Création de motifs et correspondance de motifs en regex

Nous devons invoquer le compiler() Méthode de la Modèle classe pour créer un modèle. La méthode compile () renverra un modèle qui sera interprété par le Matcher () Méthode pour effectuer l'opération de correspondance sur la chaîne / séquence de caractères.

Avant de nous diriger vers la façon d'écrire un Regex en Java d'abord, nous devons comprendre certains drapeaux, métacharacteurs et quantificateurs importants qui peuvent être utiles pour écrire un regex.

Modèles en regex

La classe de modèle utilise son compiler() Méthode pour créer un modèle et il peut prendre deux paramètres, l'un pour le modèle à rechercher et l'autre est facultatif qui est utilisé pour spécifier un drapeau.

Comme le compiler() La méthode prend un modèle dans le premier paramètre, donc certains modèles fréquemment utilisés sont fournis ci-dessous:

  1. [-] entre parenthèses, le «-» représente divers caractères, tandis que [-] représente un modèle qui définit qui trouve / recherche un caractère parmi les options spécifiées entre les crochets.
  2. [^ -] Ici, le signe ^ ne représente pas, ce qui signifie que si nous spécifions un signe avec un modèle, cela signifie trouver un caractère sauf les options spécifiées dans les supports.
  3. [0-9], représente la recherche d'un nombre entre 0 et 9.

Drapeaux dans les expressions régulières

Les drapeaux peuvent être passés comme deuxième paramètre de la méthode compile () et il est utilisé pour spécifier le comportement de recherche du regex. Par exemple, Case_Inssenstive est un drapeau qui détermine: Rechercher le modèle indépendamment de la sensibilité à la casse I.e. majuscules ou minuscules.

Metacharacters en regex

Le métacharacteurs nous aider à définir les critères de recherche pour le regex et ceux-ci Métacharacteurs avoir une signification particulière. Certains métacharacteurs les plus fréquemment utilisés sont répertoriés dans le tableau ci-dessous:

Métacharacteurs Description
\d trouve un chiffre
\ b trouve un match au début ou à la fin du mot
$ trouve un match à la fin de la chaîne
^ trouve le match au début de la chaîne
\ s Utilisé pour rechercher les espaces blancs
| Trouve une correspondance à partir de plusieurs options qui sont séparées avec '|'.
. Utilisé pour correspondre à un seul caractère

Quantifiers en regex

Comme le nom lui-même le suggère, les quantificateurs spécifient la quantité i.e. Combien de fois un nombre se produit dans un motif, certains quantificateurs fréquemment utilisés sont fournis dans le tableau suivant:

Quantificateurs Description
UN+ A se produit au moins une fois
UN* A se produit zéro ou plus de temps
UN? A se produit zéro ou une fois
Un A se produit n nombre de fois
Un, A se produit n fois ou plus n fois
A x, y A se produit entre la gamme fournie i.e. A se produit au moins x fois mais moins que y fois

Comment écrire Regex en Java

La classe de modèle sera utilisée pour créer un modèle et pour le faire, nous devons invoquer son "Public Static Compile ()" Méthode, ensuite nous spécifierons le motif dans le compiler() méthode.

En Java, un regex peut être écrit de plusieurs manières comme indiqué ci-dessous:

Première méthode

Dans l'extrait ci-dessous, premièrement, nous créons l'objet de la classe de modèle et nous spécifions le motif dans sa méthode de compilation. Nous utilisons un métacharacter "." qui dit que la chaîne se compose de deux lettres où la première lettre peut être tout sauf la deuxième lettre doit être "je":

classe publique WriteregexExample
publicClassWriteRegexExample
publicStaticVoidMain (String args [])
Motif ptrn = motif.compiler(".je");
Mat de matchur = PTRN.Matcher ("Hi");
booléanbol = tapis.allumettes();
Système.dehors.println (bol);

Nous créons l'objet de la classe Matcher qui interprétera le modèle et effectuera les opérations de correspondance sur la chaîne d'entrée. Ensuite, nous avons utilisé la méthode Matchs () qui renverra une valeur booléenne, si le match est trouvé, il renvoie «vrai» autrement faux.

La sortie montre True, ce qui signifie que la correspondance souhaitée a été trouvée avec succès.

Deuxième méthode

L'extrait ci-dessous montre une autre façon d'écrire le Regex en Java:

booléen bol = motif.compiler(".je").Matcher ("Hi").allumettes();
Système.dehors.println (bol);

Cette fois, nous utilisons le compile (), Matcher (), et allumettes() Méthodes en une seule fois.

La sortie montre que notre programme fonctionne correctement.

Troisième méthode

Une autre façon d'écrire un regex est que nous pouvons utiliser directement le allumettes() Méthode de la classe Matcher avec la classe de modèle et dans la parenthèse, nous spécifierons le «modèle"Et la chaîne avec laquelle nous voulons faire correspondre.

booléen bol = motif.allumettes(".je "," salut ");
Système.dehors.println (bol);

Le code complet et la sortie respective sont indiqués dans l'extrait suivant:

La sortie authentifie le fonctionnement du programme ci-dessus.

Conclusion

Le regex est une séquence de caractères qui définit les modèles de recherche qui peuvent être utilisés pour rechercher, manipuler et modifier une chaîne. Le regex peut être écrit de plusieurs manières, l'approche pour écrire un regex peut être différente, cependant, nous devons utiliser le compiler() Méthode de classe de modèle, et allumettes() Méthode de classe de correspondance dans chaque approche. Cette rédaction présente un aperçu détaillé de la façon d'écrire un regex en Java et pour une meilleure compréhension, il explique tous les aspects nécessaires des expressions régulières telles que les quantificateurs, les métacharacteurs, etc.