+ -
当前位置:首页 → 问答吧 → 求助:正则表达式无法匹配

求助:正则表达式无法匹配

时间:2011-02-25

来源:互联网

本帖最后由 moon_lucifer 于 2011-02-25 22:23 编辑

新人学习perl,遇到个问题,在变量中保存表达式,利用变量内差进行匹配,最后会失败....无法匹配以a结尾的单词的行
  1. #!/usr/bin/perl
  2. $myexpression="a\b";
  3. while(<>){
  4.         chomp;
  5.         if(/$myexpression/){
  6.                 print "Matched\n";
  7.                
  8.         }else{
  9.                 print "No match: |$_|\n";
  10.         }
  11. }
复制代码

作者: moon_lucifer   发布时间: 2011-02-25

  1. $myexpression="a\b";
复制代码
这里不是正则表达式,是一个双引号直接量,"\b"在这里是一个字符,不是正则里的锚位
改成
  1. $myexpression = qr"a\b";
复制代码

作者: FenRagwort   发布时间: 2011-02-25