Expressions rationnelles simples vs étendues
Dans les expressions rationnelles simples, les méta-caractères ?, +, {, |, (, et ) perdent leur signification spéciale, il faut utiliser à la place leurs versions avec la contre-oblique \?, \+, \{, \|, \(,
et \).
La version traditionnelle d’egrep ne connaît pas le méta-caractère {, et certaines implantations d’egrep utilisent \{ à la place, si bien que des scripts shell portables devraient éviter { dans les motifs
de grep -E et utiliser [{] pour désigner un caractère {.
GNU egrep -E essaie d’émuler l’usage traditionnel en supposant que { n’est pas spécial au cas où il rendrait invalide l’expression qu’il commence. Par exemple, la commande shell grep -E ’{1’ recherche la
chaîne composée des deux caractères {1 au lieu de signaler une erreur de syntaxe dans l’expression rationnelle. POSIX.2 permet ce comportement comme une extension à la norme, mais les scripts portables
devraient l’éviter.
Partager