Case insensitive Regex without using RegexOptions enumeration

后端 未结 3 1704
时光说笑
时光说笑 2020-11-30 00:53

Is it possible to do a case insensitive match in C# using the Regex class without setting the RegexOptions.IgnoreCase flag?

What I would like to be able to do is wit

3条回答
  •  没有蜡笔的小新
    2020-11-30 01:48

    As spoon16 says, it's (?i). MSDN has a list of regular expression options which includes an example of using case-insensitive matching for just part of a match:

     string pattern = @"\b(?i:t)he\w*\b";
    

    Here the "t" is matched case-insensitively, but the rest is case-sensitive. If you don't specify a subexpression, the option is set for the rest of the enclosing group.

    So for your example, you could have:

    string pattern = @"My name is (?i:taylor).";
    

    This would match "My name is TAYlor" but not "MY NAME IS taylor".

提交回复
热议问题