在一个Perl正则表达式中组合不同的大小写规则

时间:2012-05-01 20:36:51

标签: regex perl

我有一个Perl变量$word。我想做一个像这样的正则表达式:

$text =~ /ab($word)cd/;

我希望正则表达式对abcd部分区分大小写,但对于$word中的任何内容,。因此,如果$word='stack',我希望这两者都匹配:

abstackcd
abStAcKcd

等,但我不想匹配

Abstackcd

我想我正在寻找某种方法将/i仅应用于$word,而不是表达式的其余部分。可以这样做吗?

1 个答案:

答案 0 :(得分:15)

是的,使用(?i:$word)。请参阅"Extended Patterns" of perldoc perlre部分。顺便说一下,您可能真的想要(?i:\Q$word\E),它会自动引用$word中的任何正则表达式元字符。