/ Correspondance regex avec des scalaires en Perl. - regex, perl

Regex correspondant aux scalaires en Perl. - regex, perl

Aux modérateurs ... LISEZ LA QUESTION avant de marquer en double.

J'utilise une expression régulière en utilisant des scalaires ici. Première fois cependant. Je vais mettre le code. Cela devrait aller de soi

#!/usr/bin/perl

my $regex = "PM*C";
my $var = "PM_MY_CALC";

if($var =~ m/$regex/){
print "match n";
}

else{

print "no matchn";
}

La sortie que je reçois est "pas de correspondance" ..

est-ce que je manque quelque chose d'évident ici? Évidemment, cela ne correspond à aucune autre chose .. donc juste fait que la regex et la variable à vérifier soient identiques .. toujours pas de correspondance.

J'ai essayé de faire ça aussi ..

 if($var =~ $regex ){

basé sur une recherche de perlMonks.

et si vous pensez toujours que c'est un doublon et que vous voulez aller à cette question ici ...

Détecte la valeur de chaîne exacte de scalaire dans la correspondance regex

économisez votre temps et votre ego .. Ce n'est pas celui-là, et cela ne répond pas à ma requête .. et épargnez-vous s'il vous plaît un peu de temps pour cette question jusqu'à quelqu'un qui veut vraiment aider à répondre à cette question ..

Réponses:

2 pour la réponse № 1

* est un quantificateur, pas un caractère générique dans les expressions rationnelles Perl. PM*C comme un regex signifie P, suivi de zéro ou plus Ms, suivi de C. Par exemple, les chaînes suivantes correspondent:

PC
PMC
PMMC
PMMMC
xxxPCxxx

Si vous devez faire correspondre "n'importe quoi", utilisez .*.