正则表达式中“(?i)”的含义是什么?

时间:2013-07-01 08:05:51

标签: asp.net regex

正则表达式模式(?i)(?<=<data name=")\w+(?=")可以捕获

测试
<data name="test" xml:space="preserve">
    <value>123</value>
</data>

但是“(?i)”在正则表达式中是什么意思?

1 个答案:

答案 0 :(得分:6)

这是一种指定匹配应不区分大小写的方法。

以下是Regex options上的MSDN页面:

  

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

但实际上,看起来你正在处理XML,在这种情况下,你应该真的使用XML解析器,不是正则表达式。框架中内置了用于处理XML的类,它们正确地遵循了XML的所有规则。将XML视为“只是一个字符串”往往会导致脆弱的解决方案。