
Envoyé par
pixelboy
Cela fait partie de ces nuances que je ne connais pas.
Ou, quand, comment pourquoi ? Je serais curieux de comprendre en quoi et pourquoi le fonctionnement d'une regex varie d'un environnement à l'autre.
...
Neamoins, j'en reviens à ma question : ou puis-je trouver de quoi comprendre comment et pourquoi les regexp sont différentes entre ruby/perl et bash ? Je suis un noob, certes, mais un noob curieux
Merci
Salut
En fait les regex ne varient pas. C'est la façon de les écrire qui varie à cause de l'outil chargé de les transmettre qui peut, parfois, intercepter pour lui tel ou tel caractère.
Un exemple simple: tu es sous 'vi' et tu veux remplacer chaque fin de ligne par un caractère guillemets ". Tu taperas donc
Maintenant, tu veux faire la même chose depuis un script shell avec sed. Or, dans un script shell, les caractères dollar et guillemets ont une signification spéciale qu'il te faut inhiber. Tu taperas donc
sed -e "s/\$/\"/" fichier
Ce principe s'applique à toutes les regex. Tel caractère sous perl pourra être mis tel quel mais pas en shell car il a un signification précise en shell. Et tel caractère shell devra être protégé en ruby. Et etc etc etc...
Partager