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 Les deux révisions suivantes | ||
utilisateurs:hypathie:tutos:accueil [20/07/2014 08:35] Hypathie [Contexte d'utilisation des ER] |
utilisateurs:hypathie:tutos:accueil [20/07/2014 10:43] Hypathie [Contexte d'utilisation des ER] |
||
---|---|---|---|
Ligne 29: | Ligne 29: | ||
-> __utilisation des expressions régulières de basiques__, c'est-à-dire, celles qui utilisent les métacaractères simples (POSIX) qui sont en communs à tous les programmes utilisant les expressions régulières.\\ En voici un rappel : | -> __utilisation des expressions régulières de basiques__, c'est-à-dire, celles qui utilisent les métacaractères simples (POSIX) qui sont en communs à tous les programmes utilisant les expressions régulières.\\ En voici un rappel : | ||
- | ''*'', ''^'', ''$'', ''[ ]''\\ | + | ''.'' ; ''*'', ''^'', ''$'', ''[ ]''\\ |
+ | |||
+ | -> Il s'y ajoute pour sed __le caractère__ ''&'' :\\ | ||
+ | - ''&'' : Représente la chaîne à remplacer((ce qu'on ajoute autour de ''&'' est ajouté à la chaîne remplacée)). | ||
-> __utilisation des classes__ : | -> __utilisation des classes__ : | ||
+ | |||
+ | > Attention il y a une petite ambiguïté !\\ Les classes peuvent effectivement être utilisées avec sed sans l'option ''-r'' bien que la documentation de sed renvoie à celle grep -E (ou egrep) où elles font partie des regexp étendues. | ||
^ ^ ^ | ^ ^ ^ | ||
Ligne 47: | Ligne 52: | ||
|''<nowiki>[[:upper:]]</nowiki>'' | Les lettres majuscules [A-Z] | | |''<nowiki>[[:upper:]]</nowiki>'' | Les lettres majuscules [A-Z] | | ||
|''<nowiki>[[:xdigit:]]</nowiki>'' | Chiffres hexadécimaux [0-9 a-f A-F] | | |''<nowiki>[[:xdigit:]]</nowiki>'' | Chiffres hexadécimaux [0-9 a-f A-F] | | ||
- | |||
- | -> Il s'y ajoute __le caractère ''&''__ : La chaîne à remplacer dans la chaîne de remplacement. | ||
* **avec ''-r'' :** | * **avec ''-r'' :** | ||
- | -> On peut utiliser __les caractères POSIX étendus__ (ceux communs à 'egrep'):\\ | + | -> On peut utiliser __les caractères POSIX étendus__ :\\ |
- | ''|'' ; ''^'' ; ''$'' ; ''.'' ; ''*'' ; ''+'' ; ''?'' ; ''( )'' ; ''['' ; ''{ }''\\ | + | |
+ | ''|'' ; ''+'' ; ''?'' ; ''( )'' ;''{ }'' ; ''<nowiki>[ - ]</nowiki>'' | ||
+ | |||
+ | Auxquels il s'ajoute les caractères non-portables : ''\<'' et ''\>''\\ | ||
+ | -''\<'' : cible le début d'un mot((Attention : Un mot est une chaîne de caractères faite de chiffres, lettres ou de ''_'' et séparée par tout autre caractère qu'un chiffre, une lettre ou le ''_''.)) : ''\<'' doit figurer devant la sous-chaîne désirée\\ | ||
+ | -''\>'' : cible la fin d'un mot : ''\>'' doit figurer en fin de la sous-chaîne désirée | ||
+ | |||
+ | |||
+ | >Voici la liste complète et testée des caractères nécessitant l'option ''-r'' de sed :\\ | ||
+ | >''|'' ; ''+'' ; ''?'' ; ''( )'' ;''{ }'' ; ''<nowiki>[ - ]</nowiki>'' ; ''\<'' ; ''\>''\\ | ||
- | -> Il s'y ajoute enfin __les raccourcis ci-desous__. C'est là l'extension GNU qui n'est pas portable :\\ | + | -> Il s'y ajoute enfin __les raccourcis ci-dessous__. Il s'agit là de l'extension GNU qui n'est pas portable :\\ |
''\f'' : Produit ou correspond à un saut\\ | ''\f'' : Produit ou correspond à un saut\\ | ||
Ligne 62: | Ligne 74: | ||
''\t'' : Produit ou correspond à un onglet horizontal\\ | ''\t'' : Produit ou correspond à un onglet horizontal\\ | ||
''\v'' : Produit ou correspond à une tabulation verticale\\ | ''\v'' : Produit ou correspond à une tabulation verticale\\ | ||
- | ''\w'' : Correspond à n'importe quel caractère "mot". Un caractère "mot" sera une lettre, un chiffre ou le caractère de soulignement.\\ | + | ''\w'' : Synonyme de ''<nowiki>[[:alnum:]]</nowiki>'' -> correspond à un mot.\\ |
- | ''\W'' : Correspond à tout caractère «non-mot».\\ | + | ''\W'' : Synonyme de ''<nowiki>[^[:alnum]]</nowiki>'' -> ce qui autre qu'un mot.\\ |
- | ''\b'' : Correspond à une limite de mot.\\ | + | ''\b'' : Correspond à une chaîne vide (blanc) à l'extrémité d'un mot.\\ ''info\b'' ->l'info pour tous\\ ''\binfo'' -> informatique |
- | ''\B'' : Matches partout mais sur une limite de mot.\\ | + | ''\B'' : Correspond à une chaîne vide ne se trouvant pas à une extrémité de mot.\\ |
''\a'' : caractère alerte'' | ''\a'' : caractère alerte'' | ||
\\dxxx'' : Produit ou correspond à un caractère dont la valeur ascii décimal est xxx\\ ''\cx'' : Control-x \\ | \\dxxx'' : Produit ou correspond à un caractère dont la valeur ascii décimal est xxx\\ ''\cx'' : Control-x \\ |