49
我使用System.Text.RegularExpressions.Regex.IsMatch(testString,regexPattern)在字符串中進行一些搜索。C#RegEx:忽略大小寫模式?
有沒有辦法在regexPattern字符串中指定該模式應忽略大小寫? (即未使用Regex.IsMatch(testString,regexPattern,RegexOptions.IgnoreCase))
我使用System.Text.RegularExpressions.Regex.IsMatch(testString,regexPattern)在字符串中進行一些搜索。C#RegEx:忽略大小寫模式?
有沒有辦法在regexPattern字符串中指定該模式應忽略大小寫? (即未使用Regex.IsMatch(testString,regexPattern,RegexOptions.IgnoreCase))
(?i)
內部模式開始不區分大小寫匹配,(?-i)
結束它。也就是說,
(?i)foo(?-i)bar
匹配FOObar
但不fooBAR
。
編輯:我應該說(?-i)
開始區分大小寫的匹配 - 如果你想整個模式是不區分大小寫的,那麼你就不需要「結束」的(?i)
。
結尾(?-i)是必需的還是可以省略的? – core 2009-10-18 01:29:00
可以省略,不會有錯誤。 – 2009-10-18 01:29:45
順便說一下,這種語法也適用於來自其他語言(如Java和Scala)的正則表達式庫。 – Xavi 2011-01-20 18:55:23