我有一个Perl变量$word
。我想做一个像这样的正则表达式:
$text =~ /ab($word)cd/;
我希望正则表达式对ab
和cd
部分区分大小写,但对于$word
中的任何内容,不。因此,如果$word='stack'
,我希望这两者都匹配:
abstackcd
abStAcKcd
等,但我不想匹配
Abstackcd
我想我正在寻找某种方法将/i
仅应用于$word
,而不是表达式的其余部分。可以这样做吗?
答案 0 :(得分:15)
是的,使用(?i:$word)
。请参阅"Extended Patterns" of perldoc perlre部分。顺便说一下,您可能真的想要(?i:\Q$word\E)
,它会自动引用$word
中的任何正则表达式元字符。