在perl中使用变量作为正则表达式修饰符

时间:2015-01-01 11:37:40

标签: perl

寻找从perl变量传递修饰符的方法。例如。

sub isContentValid
{
   my $modifier = shift;
   my $validationRe = shift;

   $modifier = ($modifier) ? "" : "i";
   $isValid = $ans =~ /$validationRe/$modifier;
   return $isValid;
}

1 个答案:

答案 0 :(得分:1)

您可以在>正则表达式中使用修饰符

man perlre

  

修饰符“/ imsxadlup”也可以使用“(?...)”构造嵌入正则表达式本身,请参阅下面的“扩展模式”。

sub isContentValid
{
   my $modifier = shift;
   my $validationRe = shift;

   $modifier = ($modifier) ? "-i" : "i";
   $isValid = $ans =~ /(?$modifier)$validationRe/;
   return $isValid;
}