Perl : Quantifier follows nothing in regex; marked by

在用Perl替换字符串的时候出现的错误,这里是考察我们英文的时候了!Quantifier意思是量词。 原因我们使用了变量来作为匹配模式字符串,而这个字符串里面含有量词,导致识别出错。 怎么解决呢? 其实这里我们完全可以不用正则替换,而仅仅用字符串替换函数。 可惜Perl似乎没有字符串替换函数! 还好,找到\Q \E包住字符串 例子: [pl]#如果模式字符串采用变量的方法,而变量里面出现了量词,则会出现错误 sub testQuantityError { my $str = "he*llo"; my $match = "e*" ; #$match =~ s/\*/\\*/ ;之前的做法,把量词替换了,但这样会改变源字符串,不行 if( $str =~ m/\Q$match\E/ ) { print "match"; } }[/pl]
posted @ 2012-11-02 12:18  ifeixiang  阅读(2860)  评论(0编辑  收藏  举报