主持人......在标记为副本之前阅读问题。
我在这里使用标量使用正则表达式。第一次。我会把代码。它应该是不言而喻的
#!/usr/bin/perl
my $regex = "PM*C";
my $var = "PM_MY_CALC";
if($var =~ m/$regex/){
print "match \n";
}
else{
print "no match\n";
}
我得到的输出是"没有匹配" ..
我错过了一些明显的东西吗?显然它没有匹配任何其他东西..所以只是使正则表达式和变量被检查相等..仍然没有匹配。我也试过这样做..
if($var =~ $regex ){
基于perlMonks的一些搜索。
如果你仍然认为它是重复的并且想在这里找到这个问题......
Detect exact string value of scalar in regex matching
请节省您的时间和自我..它不是那个,它不回答我的问题..请为这个问题留出一些时间,直到有人真正想帮助解答这个问题。
答案 0 :(得分:2)
*
是一个量词,而不是Perl正则表达式中的通配符。 PM*C
作为正则表达式表示P
,后跟零个或多个M
s,后跟C
。例如,以下字符串匹配它:
PC
PMC
PMMC
PMMMC
xxxPCxxx
如果您需要匹配"任何",请使用.*
。