将不同的情况规则合并到一个Perl正则表达式中

6

我有一个Perl变量$word,我想进行如下的正则表达式匹配:

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

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

等等,但我不想进行匹配

Abstackcd

我想找到一种方法,只将/i应用于$word,而不是整个表达式。这可行吗?
1个回答

15

可以使用(?i:$word)。请参见 perldoc perlre 的 "扩展模式"部分。顺便提一下,您可能实际上想要的是(?i:\Q$word\E),这将自动引用$word中的任何正则表达式元字符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接