• # Quelle syntaxe?

    Posté par . 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/