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

标签 regex perl

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

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

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

等,但我不想匹配
Abstackcd

我猜我正在寻找某种方法将/i仅应用于$word,而不应用于表达式的其余部分。能做到吗?

最佳答案

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

关于regex - 在一个Perl正则表达式中组合不同的大小写规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10403991/

相关文章:

从字符串末尾删除多个非字母字符

regex - NotePad++ 正则表达式删除包含嵌入标签的 HTML 标签

python - 在字符串中搜索符合特定条件的子串

正则表达式挑战将不同的规则分成两组

perl - 我的 Perl 脚本如何在同一目录中找到其模块?

perl - 将 Perl 数组扩展为 shell 命令参数

perl - 如何从 Moose 获取结构化异常?

python - python 正则表达式中断言背后的积极查找问题

perl - 如何反转字符串中两个单词的顺序?

perl - 同一个字符可以有 2 种不同的 UTF-8 编码吗?