Reputation: 9017
Assume I have this:
Regex.Replace("aa cc bbbb","aa cc","",RegexOptions.IgnoreCase);
But I also need to ignore white-spaces. So, I found an option IgnorePatternWhitespace
, but how can I add several options to one regex.Replace?
Something like:
Regex.Replace("aa cc bbbb", "aa cc", "",
RegexOptions.IgnoreCase + RegexOptions.IgnorePatterWhitespace);
Update:
Thanks for answers but this option does not seem to work: here's a test example:
Regex.Replace("aa cc bbbb", "aacc", "",
RegexOptions.IgnoreCase | RegexOptions.IgnorePatterWhitespace);
Upvotes: 23
Views: 34513
Reputation: 31250
Use bitwise OR (|
)
Regex.Replace("aa cc bbbb",
"aa cc",
"",
RegexOptions.IgnoreCase | RegexOptions.IgnorePatterWhitespace);
Upvotes: 90
Reputation: 82584
IgnorePatternWhitespace
Eliminates unescaped white space from the pattern and enables comments marked with #. However, the IgnorePatternWhitespace value does not affect or eliminate white space in character classes.
so:
string result = Regex.Replace("aa cc bbbb","aa|cc","",RegexOptions.IgnoreCase).Trim();
Upvotes: 2
Reputation: 26930
Regex.Replace("aa cc bbbb","aa cc","",RegexOptions.IgnoreCase | RegexOptions.IgnorePatterWhitespace);
Use the |
operator.
Edit :
You got it completely wrong. RegexOption.IgnorePatterWhitespace
ignores the whitespace in the regex so that you can do :
string pattern = @"
^ # Beginning of The Line
\d+ # Match one to n number but at least one..
";
You however think that ingoring whitespace makes "aa cc bbbb"
into "aaccbbbb"
which is thankfully wrong.
Upvotes: 13
Reputation: 3115
You can have as many RegexOptions as you like, just "OR" them with "|".
For example...
RegexOptions.Compiled | RegexOptions.IgnoreCase
Upvotes: 3
Reputation: 48775
According to MSDN:
A bitwise OR combination of RegexOption enumeration values.
So just use OPT_A | OPT_B
Upvotes: 8