在perl中使用变量作为正则表达式修饰符[重复]
Posted
技术标签:
【中文标题】在perl中使用变量作为正则表达式修饰符[重复]【英文标题】:Use variable as a regex modifier in perl [duplicate] 【发布时间】:2015-01-01 11:37:39 【问题描述】:寻找一种从 perl 变量传递修饰符的方法。例如
sub isContentValid
my $modifier = shift;
my $validationRe = shift;
$modifier = ($modifier) ? "" : "i";
$isValid = $ans =~ /$validationRe/$modifier;
return $isValid;
【问题讨论】:
【参考方案1】:您可以在inside正则表达式中使用修饰符。
man perlre
修饰符“/imsxadlup”也可以使用“(?...)”构造嵌入到正则表达式本身中,请参阅下面的“扩展模式”。
sub isContentValid
my $modifier = shift;
my $validationRe = shift;
$modifier = ($modifier) ? "-i" : "i";
$isValid = $ans =~ /(?$modifier)$validationRe/;
return $isValid;
【讨论】:
以上是关于在perl中使用变量作为正则表达式修饰符[重复]的主要内容,如果未能解决你的问题,请参考以下文章
是否有 Python 等效于正则表达式的 Perl "/x" 修饰符?