【发布时间】:2010-12-07 16:59:26
【问题描述】:
我正在使用 System.Text.RegularExpressions.Regex.IsMatch(testString, regexPattern) 在字符串中进行一些搜索。
有没有办法在 regexPattern 字符串中指定模式应该忽略大小写? (即不使用 Regex.IsMatch(testString, regexPattern, RegexOptions.IgnoreCase))
【问题讨论】:
我正在使用 System.Text.RegularExpressions.Regex.IsMatch(testString, regexPattern) 在字符串中进行一些搜索。
有没有办法在 regexPattern 字符串中指定模式应该忽略大小写? (即不使用 Regex.IsMatch(testString, regexPattern, RegexOptions.IgnoreCase))
【问题讨论】:
(?i) 在模式中开始不区分大小写的匹配,(?-i) 结束匹配。也就是说,
(?i)foo(?-i)bar
匹配 FOObar 但不匹配 fooBAR。
编辑:我应该说(?-i) 开始区分大小写匹配 - 如果您希望整个模式不区分大小写,那么您不需要“结束”(?i) .
【讨论】:
(?-i) 结束区分大小写的匹配。换句话说,(?-i) 开始区分大小写的匹配。在 stevemegson 的原始编辑中,他说它开始区分大小写匹配,这也是正确的。