繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM