Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
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 Prochaine révision Les deux révisions suivantes | ||
doc:programmation:shell:regexp [22/09/2013 10:06] smolski [REGEXP - Utilisation pour sed find grep locate] |
doc:programmation:shell:regexp [22/09/2013 10:36] smolski [Les caractères regexp] |
||
---|---|---|---|
Ligne 120: | Ligne 120: | ||
Ces caractères suivants ont un statut particulier dans les **regexp** : | Ces caractères suivants ont un statut particulier dans les **regexp** : | ||
- | ^ . [ ] $ * { } \ | + | * L'accent circonflexe : '' ^ '' |
+ | * Le point : '' . '' | ||
+ | * Les crochets doubles : ''[ ] '' | ||
+ | * Le signe dollar : '' $ '' | ||
+ | * L'étoile : '' * '' | ||
+ | * Les accolades doubles : '' { } '' | ||
+ | * L'anti-slash : '' \ '' | ||
- | Avec les **regexp**, les shells (lignes de commande) effectuent certaines substitutions dans les commandes entrées par les utilisateurs avant de les exécuter. | + | Avec les **regexp**, les //shells// effectuent certaines substitutions dans les commandes entrées par les utilisateurs avant de les exécuter. |
==== Les caractères ==== | ==== Les caractères ==== | ||
- | La première chose que l'on veut pouvoir reconnaître avec des motif, ce sont les | + | La première chose que l'on veut pouvoir reconnaître avec des motif, ce sont les mots que l'on peut écrire sans **REGEXP**. \\ |
- | mots que l'on peut écrire sans **regexp**. \\ | + | **Exemple :** |
- | Exemple : | + | |
Abracadabrantesque | Abracadabrantesque | ||
Toutes ces lettres sont des caractères pouvant former une ''regexp''. \\ | Toutes ces lettres sont des caractères pouvant former une ''regexp''. \\ | ||
- | ''Abracadantesque'' est donc déjà en soi une ''regexp'' reconnaissant exactement | + | ''Abracadantesque'' est donc déjà en soi une ''REGEXP'' reconnaissant exactement le mot ''Abracadabrantesque''. |
- | le mot ''Abracadabrantesque''. | + | |
==== Les jokers ==== | ==== Les jokers ==== | ||
- | |||
''A.racadabrant....e'' | ''A.racadabrant....e'' | ||
- | Comme vous l'aurez compris, les ''.'' (points) signifient //n'importe quel caractère//. \\ | + | Comme vous l'aurez compris, les points ''.'' signifient //n'importe quel caractère//. \\ |
- | La chaîne ci-dessus est une ''regexp'' qui reconnaît exactement les caractères entrant dans le mot recherché. \\ | + | La chaîne ci-dessus est dans son ensemble une **REGEXP** qui reconnaît exactement les caractères entrant dans le mot recherché. \\ |
- | En effet, ''.'' (le point) est un caractère spécial reconnaissant //n'importe quel caractère//. On appelle aussi ce caractère un ''joker''((En bash, le caractère joker est ''?'')) | + | En effet, ''.'' (le point) est un caractère spécial reconnaissant //n'importe quel caractère//. |
+ | <note tip>On appelle aussi ce caractère un ''joker''((En bash, le caractère joker est ''?''))</note> | ||
+ | |||
+ | ==== Les caractères échappés ==== | ||
+ | |||
+ | Tous nos caractères spéciaux ont des significations particulières, nous l'avons vu avec le .((point)), c'est vrai pour les autres. \\ | ||
+ | Ainsi, pour reconnaître chacun d'eux en tant que caractère non spécial, il faut l'échapper par un \((anti-slash)). | ||
- | === TP 01 : === | + | Ainsi la combinaison : ''\.''((anti-slash point)) reconnaît simplement ''.''((point)) \\ |
+ | Comme la combinaison : ''\\''((anti-slash antislash)) reconnaît ''\''((anti-slash)) \\ | ||
+ | Ou encore la combinaison : ''\\\.''((anti-slash anti-slash anti-slash point)) reconnaît \.((anti-slash point)) | ||
+ | //Eh oui !// :-D | ||