正则表达式与Perl中的标量匹配。

时间:2016-10-18 09:41:26

标签: regex perl

主持人......在标记为副本之前阅读问题。

我在这里使用标量使用正则表达式。第一次。我会把代码。它应该是不言而喻的

#!/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

请节省您的时间和自我..它不是那个,它不回答我的问题..请为这个问题留出一些时间,直到有人真正想帮助解答这个问题。

1 个答案:

答案 0 :(得分:2)

*是一个量词,而不是Perl正则表达式中的通配符。 PM*C作为正则表达式表示P,后跟零个或多个M s,后跟C。例如,以下字符串匹配它:

PC
PMC
PMMC
PMMMC
xxxPCxxx

如果您需要匹配"任何",请使用.*