我见过很多使整个正则表达式不区分大小写的例子。我想知道的是只有部分表达式不区分大小写。
例如,假设我有一个这样的字符串:
fooFOOfOoFoOBARBARbarbarbAr
如果我想匹配所有出现的“foo”而不考虑大小写,但我只想匹配大写的“BAR”怎么办?
理想的解决方案是适用于正则表达式风格的东西,但我也有兴趣听到特定语言的东西(谢谢Espo)
编辑
Espo 提供的链接非常有帮助。那里有一个很好的例子,关于在表达式中打开和关闭修饰符。
对于我的人为示例,我可以执行以下操作:
(?i)foo*(?-i)|BAR
这使得匹配只对匹配的 foo 部分不区分大小写。
这似乎在大多数正则表达式实现中都有效,除了 Javascript、Python 和其他一些(正如 Espo 提到的)。
我想知道的大的(Perl、PHP、.NET)都支持内联模式更改。