[英]Regex matching by scalars in 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的搜索。
我在这里缺少明显的东西吗?
您缺少正则表达式的工作方式。 它们不起作用外壳程序文件名扩展如何工作。
您的正则表达式使用*
表示“零个以上的字符”。 因此, M*
匹配“ M”,“ MM”,“ MMM”等。
您要匹配“ PM”,后跟任意数量的任何字符,后跟“ C”。 正确的正则表达式是PM.*C
点( .
)表示“(几乎)匹配任何字符”,并且(如上所述) *
匹配零个或多个字符。
我建议阅读Perl正则表达式教程 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.