• [^] # Re: Une solution

    Posté par . En réponse au message Vim: comment utiliser un pattern après son matching?. Évalué à 0. Dernière modification le 07 février 2012 à 17:06.

    Je me réponds moi-même : j'ai trouvé ! \o/
    Il faut faire attendtion à deux trucs :
    1/ bien penser à redoubler les barres obliques inversées (comme tu l'as indiqué Axioplase), car la chaîne est interprétée une première fois avant d'être passée à la fonction (matchstr)
    2/ bien penser à utiliser \zs et \ze à la place de \( et \), car les premiers signalent que le pattern matché sera "exporté", alors que les seconds ne servent que lorsque le pattern matché est réutilisé à l'intérieur-même de l'expression (par exemple dans l'expression s/Je m'appelle \([^.]*\)\./Vous vous appelez 1円\./)

    En conclusion voici le type de commande qui marche bien :

    :echo matchstr("ueeeeeemlmlmpe","u\\zse*\\ze[^e]")