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:忽略大小写...在模式中?的主要内容,如果未能解决你的问题,请参考以下文章

Python regex - 忽略括号作为索引?

比较两个字符串,在 C# 中忽略大小写 [重复]

在 Vim 中忽略部分搜索模式中的大小写

如何使用 Jest testPathIgnorePatterns(React、Jest、Regex)忽略文件名约定

在C#中 xmldocument xpath 模糊查询 忽略大小写

正则表达式:忽略区分大小写