Une expression régulière (regex) est une séquence de caractères qui définissent un modèle de recherche. Voici comment écrire des expressions régulières :
- Commencez par comprendre les caractères spéciaux utilisés dans les expressions régulières tels que « ». '*' '+' '?' et plus encore.
- Choisissez un langage ou un outil de programmation prenant en charge les expressions régulières, tel que Python Perl ou grep.
- Écrivez votre modèle en utilisant les caractères spéciaux et les caractères littéraux.
- Utilisez la fonction ou la méthode appropriée pour rechercher le modèle dans une chaîne.
Exemples :
- Pour faire correspondre une séquence de caractères littéraux, écrivez simplement ces caractères dans le modèle.
- Pour faire correspondre un seul caractère parmi un ensemble de possibilités, utilisez des crochets, par exemple. [0123456789] correspond à n’importe quel chiffre.
- Pour faire correspondre zéro ou plusieurs occurrences de l’expression précédente, utilisez le symbole étoile (*).
- Pour faire correspondre une ou plusieurs occurrences de l'expression précédente, utilisez le symbole plus (+).
- Il est important de noter que les expressions régulières peuvent être complexes et difficiles à lire. Il est donc recommandé d'utiliser des outils tels que des testeurs d'expressions régulières pour déboguer et optimiser vos modèles.
Une expression régulière (parfois appelée expression rationnelle) est une séquence de caractères qui définissent un modèle de recherche principalement destiné à être utilisé dans la correspondance de modèles avec des chaînes ou la correspondance de chaînes, c'est-à-dire les opérations de type « rechercher et remplacer ». Les expressions régulières sont un moyen généralisé de faire correspondre des modèles avec des séquences de caractères. Il est utilisé dans tous les langages de programmation comme C++, Java et Python.
Qu’est-ce qu’une expression régulière et qu’est-ce qui la rend si importante ?
Regex est utilisé dans Google Analytics dans la correspondance d'URL en prenant en charge la recherche et les remplacements dans les éditeurs les plus populaires comme Sublime Notepad++ Brackets Google Docs et Microsoft Word.
Example : Regular expression for an email address :
^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{25})$
L'expression régulière ci-dessus peut être utilisée pour vérifier si un jeu de caractères donné est une adresse e-mail ou non.
Comment écrire des expressions régulières ?
Certains éléments sont utilisés pour écrire des expressions régulières, comme mentionné ci-dessous :
méthode java
1. Répéteurs ( * + et { } )
Ces symboles agissent comme des répéteurs et indiquent à l'ordinateur que le caractère précédent doit être utilisé plusieurs fois.
2. Le symbole astérisque ( * )
Il indique à l'ordinateur de faire correspondre le caractère (ou l'ensemble de caractères) précédent 0 fois ou plus (jusqu'à l'infini).
faire une boucle while en java
Example : The regular expression ab*c will give ac abc abbc abbbc….and so on 3. Le symbole Plus (+)
Il indique à l'ordinateur de répéter le caractère (ou l'ensemble de caractères) précédent au moins une ou plusieurs fois (jusqu'à l'infini).
Example : The regular expression ab+c will give abc abbc
abbbc … and so on.
4. Les accolades { … }
Il indique à l'ordinateur de répéter le caractère (ou l'ensemble de caractères) précédent autant de fois que la valeur comprise entre cette parenthèse.
Example : {2} means that the preceding character is to be repeated 2
times {min} means the preceding character is matches min or more
times. {minmax} means that the preceding character is repeated at
least min & at most max times.
5. Caractère générique ( . )
Le symbole point peut remplacer n’importe quel autre symbole, c’est pourquoi il est appelé caractère générique.
Example :
The Regular expression .* will tell the computer that any character
can be used any number of times.
6. Caractère facultatif ( ? )
Ce symbole indique à l'ordinateur que le caractère précédent peut ou non être présent dans la chaîne à rechercher.
Example :
We may write the format for document file as – docx?
The ‘?’ tells the computer that x may or may not be
present in the name of file format.
7. Le symbole caret ( ^ ) ( Mise en position pour le match )
Le symbole caret indique à l'ordinateur que la correspondance doit commencer au début de la chaîne ou de la ligne.
Example : ^d{3} will match with patterns like '901' in '901-333-'.8. Le symbole du dollar ($)
Il indique à l'ordinateur que la correspondance doit se produire à la fin de la chaîne ou avant n à la fin de la ligne ou de la chaîne.
Example : -d{3}$ will match with patterns like '-333' in '-901-333'.9. Classes de personnages
taille a-b
Une classe de caractères correspond à l’un des caractères d’un ensemble. Il est utilisé pour faire correspondre l'élément le plus élémentaire d'une langue comme une lettre, un chiffre, un espace, un symbole, etc.
s : correspond à tous les caractères d'espacement tels que l'espace et la tabulation.
S : correspond à tous les caractères autres que des espaces.
d : correspond à n’importe quel caractère numérique.
D: correspond à tous les caractères non numériques.
Dans : correspond à n'importe quel caractère de mot (essentiellement alphanumérique)
DANS : correspond à n'importe quel caractère autre qu'un mot.
b : correspond à n'importe quelle limite de mot (cela inclut les espaces, les tirets, les virgules, les points-virgules, etc.
[set_of_characters] : Correspond à n'importe quel caractère unique dans set_of_characters. Par défaut, la correspondance est sensible à la casse.
Example : [abc] will match characters ab and c in any string.10. [^set_of_characters] Négation:
Correspond à n'importe quel caractère qui ne figure pas dans set_of_characters. Par défaut, la correspondance est sensible à la casse.
Example : [^abc] will match any character except abc .11. [premier-dernier] Plage de caractères :
Correspond à n’importe quel caractère dans la plage du premier au dernier.
Example : [a-zA-z] will match any character from a to z or A to Z.12. Le symbole d'échappement ( )
Si vous souhaitez faire correspondre les caractères « + » « . » etc., ajoutez une barre oblique inverse ( ) avant ce caractère. Cela indiquera à l'ordinateur de traiter le caractère suivant comme un caractère de recherche et de le considérer comme un modèle de correspondance.
10 pour cent de 60
Example : d+[+-x*]d+ will match patterns like '2+2'
and '3*9' in '(2+2) * 3*9'.
13. Regroupement de caractères ( )
Un ensemble de différents symboles d'une expression régulière peut être regroupé pour agir comme une seule unité et se comporter comme un bloc. Pour cela, vous devez placer l'expression régulière entre parenthèses ( ).
pente indéfinie
Example : ([A-Z]w+) contains two different elements of the regular
expression combined together. This expression will match any pattern
containing uppercase letter followed by any character.
14. Barre verticale ( | )
Correspond à n’importe quel élément séparé par le caractère barre verticale (|).
Example : th(e|is|at) will match words - the this and that.15. numéro
Référence arrière : permet à une sous-expression précédemment correspondante (expression capturée ou entourée de crochets circulaires) d'être identifiée ultérieurement dans la même expression régulière. n signifie que le groupe placé entre la nième parenthèse sera répété à la position actuelle.
Example : ([a-z])1 will match ee in Geek because the character
at second position is same as character at position 1 of the match.
16. Comment ( ?# comment )
Commentaire en ligne : le commentaire se termine par la première parenthèse fermante.
Example : bA(?#This is an inline comment)w+b17. # [jusqu'à la fin de la ligne]
Commentaire en mode X. Le commentaire commence par un # sans échappement et continue jusqu'à la fin de la ligne.
Example : (?x)bAw+b#Matches words starting with A