2012-06-20 41 views
2

我有一个变量$next其中包含可能包含括号的字符串,例如trna(tgc)我想使这个匹配语句if ($data[$i][2]=~/$next/){ ..},它总是返回假,即使它在现实中是真的。我试过这个if ($data[$i][2]=~/trnA\(tgc\)/){ ..},它的工作原理。 我的问题是:如何在每个括号前插入'\'到变量$nextperl正则表达式括号的匹配

回答

3

我想你想要quotemeta

$next = "trna(tgc)"; 
$search = quotemeta($next); 
if ($data[$i][2]=~/$search/){ 
    //.. 
} 
4

需要引用元字符。

试试这个。

print "match" if($var1 =~ /\Q$var2\E/);