1

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

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

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

4

1 回答 1

6

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

这是有关Regex 选项的 MSDN 页面:

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

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

于 2013-07-01T08:08:13.370 回答