C# – Case insensitive Regex without using RegexOptions enumeration

cregex

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 within the regex itself define whether or not I want the match operation to be done in a case insensitive manner.

I would like this regex, taylor, to match on the following values:

  • Taylor
  • taylor
  • taYloR

Best Answer

MSDN Documentation

(?i)taylor matches all of the inputs I specified without having to set the RegexOptions.IgnoreCase flag.

To force case sensitivity I can do (?-i)taylor.

It looks like other options include:

  • i, case insensitive
  • s, single line mode
  • m, multi line mode
  • x, free spacing mode