Une URL est une chaine de caractère
Imaginer que nous ayons une url avec écrit le mot « hello » à lintérieur et
que nous cherchions à savoir si ce mot est présent . Nous devrions contruire
1 motif (masque) pour capturer cette portion de chaine et controler
la présence du mot « hello » .
La construction de ces motifs (masques) se fait à laide de
symboles.
1) Les caractères de base dit litteraux
Un mot est composé de caractères. Une recherche sur une lettre ou un mot se
fera sans symbole particulier. Les caractères litteraux sont tout les caractères
de lalphabet avec les caractères spéciaux.. Sauf sauf les métacatères qui sont
les symboles : # ! ^ $ ( ) [ ] { } ? + * . \
Regex |
Explication |
x |
correspond à une recherche sur la lettre x et à rien
d'autre |
lait |
correspond à une recherche sur le mot lait et à rien
d'autre |
lait|eau |
correspond à une recherche sur le mot lait et le mot
eau et à rien d'autre (avec le symbole | qui signifie OU
2) |
2) Les symboles de début et fin de chaine
2 symboles, pas besoin dun grand dessin
^ Indique le début de la chaine
$ Indique la fin de la chaine
Regex |
Explication |
^lait |
correspond à une recherche sur une chaine qui commence par lait |
lait$ |
correspond à une recherche sur une chaine qui se termine par lait |
^lait$ |
correspond à une recherche sur une chaine qui contient uniquement lait |
3) Le symbole qui prend tout
1 seul symbole, re pas besoin dun grand dessin , cest tout simplement le point
.
. Le point indique n'importe quel caractère Attention
cest un symbole très gourmand en temps machine. Pour les réécriture durl il est conseiller déviter son emploi à répétition.
Regex |
Explication |
.* |
correspond à une recherche sur une chaine qui contient n'importe quel
caractère |
4) Les symboles quantificateurs
3 symboles, les symboles de ce type vont nous servir a quantifier nos recherches sur les chaines de caractères.
* Indique 0, 1 ou plusieurs occurences du caractère ou de la classe précédente
+ Indique 1 ou plusieurs occurences du caractère ou de la classe précédente
? Indique 0 ou 1 occurence du caractère ou de la classe précédente
Regex |
Explication |
x* |
Recherche sur la lettre x le resultat peut être
vide ou correspondre à plusieurs fois
la lettre x (x, xx ,xxx ,xxxx
) |
x+ |
Recherche sur la lettre x le resultat peut correspondre
à 1 fois la lettre x ou correspondre à
plusieurs fois la lettre x (x,
xx, xxx, xxxx
) |
x? |
Recherche sur la lettre x le resultat peut être
vide ou correspondre à 1 fois la lettre
x (x) |
5) Autres symboles quantificateurs : Les intervalles de reconnaissance
2 symboles, ce sont les accolades { }
Regex |
Explication |
x{5} |
Recherche sur la lettre x le resultat peut etre vide ou correspondre
à plusieurs fois la lettre x (x, xx ,xxx ,xxxx
) |
x{2,5} |
Recherche sur la lettre x le résultat correspond uniquement à xx,
xxx, xxxx |
x{2,} |
Recherche sur la lettre x le résultat correspond à un minimum de deux
x consécutifs soit xx, xxx, xxxx.... |