.NET正则表达式中的(?i)是什么意思?

Pol*_*878 7 .net c# regex

在我们的代码中,有一个以下形式的正则表达式:

string regex = @"(?i)foo=(BAR?-[A-Z]+(33|34)?)";
Run Code Online (Sandbox Code Playgroud)

(?i)正则表达式开头的" "匹配/做什么?我查看了.NET正则表达式文档,似乎无法弄清楚(?i)意味着什么.谢谢!

Hei*_*nzi 12

(?i)激活不区分大小写的匹配.

参考:MSDN,正则表达式选项(由我突出显示):

您可以通过以下三种方式之一为正则表达式指定选项:

  • 在类构造函数的options参数System.Text.RegularExpressions.Regex或静态(Visual Basic中的Shared)模式匹配方法中,例如Regex.Regex(String, RegexOptions)Regex.Match(String, String, RegexOptions).[...]

  • 通过使用语法(?imnsx-imnsx)在正则表达式模式中应用内联选项.该选项适用于从定义选项的位置到模式的结尾或另一个内联选项未定义选项的点的模式.[...]

  • 通过与句法正则表达式模式施加内嵌选项在特定分组构建体(imnsx-imnsx:子表达式).[...]