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