Déjà, il faudrait préciser quel variante d'expression rationnelle (pas régulière!) tu utilise.
Si c'est une version compatible perl, tu peux utiliser des «negative lookahead/lookbehind», ça donne:
s/(?<!a)a(?!a)/A/g
Si tu est limité aux expressions rationnelles POSIX (par exemple avec sed), c'est plus tordu car il faut tenir compte des a en début et fin de chaine, et il faut préserver les autres caractères, mais on s'en sort:
s/(^|[^a])a([^a]|$)/1円A2円/g
Une bonne référence sur les expressions rationnelles, qui en plus indique ce qu est supporté par différentes implémentations: http://www.regular-expressions.info/
# Quelle syntaxe?
Posté par wismerhill . En réponse au message Expression régulière. Évalué à 4.
Déjà, il faudrait préciser quel variante d'expression rationnelle (pas régulière!) tu utilise.
Si c'est une version compatible perl, tu peux utiliser des «negative lookahead/lookbehind», ça donne:
s/(?<!a)a(?!a)/A/g
Si tu est limité aux expressions rationnelles POSIX (par exemple avec sed), c'est plus tordu car il faut tenir compte des a en début et fin de chaine, et il faut préserver les autres caractères, mais on s'en sort:
s/(^|[^a])a([^a]|$)/1円A2円/g
Une bonne référence sur les expressions rationnelles, qui en plus indique ce qu est supporté par différentes implémentations: http://www.regular-expressions.info/