Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
regex [2014/04/09 20:08] luc |
regex [2018/10/13 20:32] (Version actuelle) |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
Dans ce chapitres, il ne s'agit pas d'une conf, mais d'un outil qui est utilisé ici où là, notamment dans la conf de [[nginx]]. | Dans ce chapitres, il ne s'agit pas d'une conf, mais d'un outil qui est utilisé ici où là, notamment dans la conf de [[nginx]]. | ||
- | === Principe === | ||
- | //TBD// | + | === Récapitulatif |
- | + | ||
- | === Eléments des regex === | + | |
^ élément | ^ élément | ||
+ | | | **Positionnement** | ||
| %%^%% | début de la chaîne | | %%^%% | début de la chaîne | ||
- | | | + | | |
+ | | | ** Quantificateurs** | ||
| * | répétition du motif précédent, | | * | répétition du motif précédent, | ||
| ? | répétition du motif précédent, | | ? | répétition du motif précédent, | ||
| + | répétition du motif précédent, | | + | répétition du motif précédent, | ||
- | | | + | | |
- | | %%|%% | permet une alternative entre ce qui est d'un côté ou de l' | + | | | |
- | | | + | | |
| [ ] | définit une classe, ce qui correspond à un motif dans le motif (voir le paragraphe dédié) | | [ ] | définit une classe, ce qui correspond à un motif dans le motif (voir le paragraphe dédié) | ||
- | | $ | | + | | |
+ | | | **Spéciaux** | ||
+ | | . | un caractère, quelqu' | ||
+ | | \ | permet d' | ||
+ | | | ||
+ | |||
+ | | | **Les raccourcis** | ||
+ | | \d | indique un chiffre = [0-9] | | ||
+ | | \D | indique ce qui n'est pas un chiffre | ||
+ | | \w | indique un caractère alphanumérique = [a-ZA-Z0-9_] | ||
+ | | \W | indique ce qui n'est pas un caractère alphanumérique (le contraire | ||
+ | | \t | indique une tabulation | ||
+ | | \n | indique une nouvelle ligne | | ||
+ | | \r | indique un retour chariot | ||
+ | | \s | indique un espace blanc | | ||
| \S | tout caractère qui n'est pas un whitespace (=espace) (testé en python) | | \S | tout caractère qui n'est pas un whitespace (=espace) (testé en python) | ||
+ | |||
+ | |||
+ | === Principe === | ||
+ | |||
+ | Le concept est de permettre la sélection d' | ||
=== Classes === | === Classes === | ||
+ | == alternative == | ||
+ | Une classe est délimité par des '' | ||
+ | |||
+ | == plage == | ||
+ | On peut aussi définir des intervalles avec '' | ||
+ | |||
+ | On peut cumuler la notion de plage avec la notion d' | ||
+ | |||
+ | == négation dans une classe == | ||
+ | Elle est marquée par le caractère '' | ||
+ | |||
+ | == échappement == | ||
+ | Dans une classe, l' | ||
+ | |||
+ | === Quantificateurs === | ||
+ | |||
+ | ''?'', | ||
+ | |||
+ | Les '' | ||
+ | |||
+ | === Groupes === | ||
+ | |||
+ | Dans certaines applications, | ||
+ | |||
+ | <code bash> | ||
+ | perl-rename -n ' | ||
+ | </ | ||
+ | |||
+ | On peut vouloir réutiliser des bouts de chaines sélectionnés dans la regex2. Dans ce cas, il faut former des groupes à l'aide des '' | ||
+ | |||
+ | |||
+ | === Assertions === | ||
+ | |||
+ | Il s'agit de test qui sont effectués sur les caractères précédents ou suivant les caractères en cours d' | ||
+ | |||
+ | '' | ||
+ | '' | ||
- | //TBD// | + | Bref, c'est encore à développer |