URL: https://linuxfr.org/forums/programmation-perl/posts/regexp Title: Regexp Authors: lom Date: 2005年05月25日T14:22:15+02:00 Tags: Score: 0 Bonjour à tous, J'ai un problème d'expression régulière. Je veux une expression qui reconnaisse par exemple "lockdev-1.0.0-1.2" mais pas "lockdev-devel-1.0.0-1.2". (Après, ce sera à généraliser pour d'autre termes que lockdev, mais ce ne sera plus un problème). Cette expression sera utilisée dans une syntaxe du style: if ("lockdev" =~ /$maJolieExpression/) { £spaces£ £/spaces£print "OK\n"; } else { £spaces£ £/spaces£print "KO\n"; } Cela interdit l'usage de syntaxe du style !~ ou des if imbriqués. Ce que j'ai tenté, mais qui ne passe pas: /lockdev(^-devel)/ /lockdev.*[^(-devel)]/ /lockdev.*[^\(-devel\)]/ /lockdev.*(-devel){0}/ avec différents modificateurs de gloutonnerie. Est-ce que quelqu'un saurait comment faire ça? Il obtiendra mon respect inconditionnel sur 7 générations.