C# RegEx:忽略大小写...在模式中?
Posted
技术标签:
【中文标题】C# RegEx:忽略大小写...在模式中?【英文标题】:C# RegEx: Ignore case... in pattern? 【发布时间】:2010-12-07 16:59:26 【问题描述】:我正在使用 System.Text.RegularExpressions.Regex.IsMatch(testString, regexPattern) 在字符串中进行一些搜索。
有没有办法在 regexPattern 字符串中指定模式应该忽略大小写? (即不使用 Regex.IsMatch(testString, regexPattern, RegexOptions.IgnoreCase))
【问题讨论】:
【参考方案1】:(?i)
在模式中开始不区分大小写的匹配,(?-i)
结束匹配。也就是说,
(?i)foo(?-i)bar
匹配 FOObar
但不匹配 fooBAR
。
编辑:我应该说(?-i)
开始区分大小写匹配 - 如果您希望整个模式不区分大小写,那么您不需要“结束”(?i)
.
【讨论】:
结尾 (?-i) 是必须的还是可以省略? 顺便说一句,这种语法也适用于其他语言(如 Java 和 Scala)的正则表达式库。 @DanielK 给出您的编辑,它读取 (?-i) starts 区分大小写的匹配。根据示例, (?-i) ends 区分大小写匹配。我错过了什么吗?例子错了吗? @danjuggler 在示例中,(?-i)
结束区分大小写的匹配。换句话说,(?-i)
开始区分大小写的匹配。在 stevemegson 的原始编辑中,他说它开始区分大小写匹配,这也是正确的。以上是关于C# RegEx:忽略大小写...在模式中?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Jest testPathIgnorePatterns(React、Jest、Regex)忽略文件名约定