Несколько вариантов регулярного выражения с С# Regex

Предположим, что у меня есть это:

Regex.Replace("aa cc bbbb","aa cc","",RegexOptions.IgnoreCase);

Но мне также нужно игнорировать белые пробелы. Итак, я нашел вариант IgnorePatternWhitespace, но как добавить несколько вариантов в одно регулярное выражение? Replace?
Что-то вроде:

Regex.Replace("aa cc bbbb", "aa cc", "", 
    RegexOptions.IgnoreCase + RegexOptions.IgnorePatterWhitespace);

Update:
Спасибо за ответы, но этот вариант не работает: вот пример:

Regex.Replace("aa cc bbbb", "aacc", "", 
    RegexOptions.IgnoreCase | RegexOptions.IgnorePatterWhitespace);

Ответы

Ответ 1

IgnorePatternWhitespace
Устраняет невыпущенное пустое пространство из шаблона и позволяет комментировать отмечен значком #. Однако значение IgnorePatternWhitespace не влияет или исключает пробел в классах символов.

так:

string result = Regex.Replace("aa cc bbbb","aa|cc","",RegexOptions.IgnoreCase).Trim();

Ответ 2

Используйте побитовое ИЛИ (|)

Regex.Replace("aa cc bbbb",
                "aa cc",
                "",
                RegexOptions.IgnoreCase | RegexOptions.IgnorePatterWhitespace); 

Ответ 3

Regex.Replace("aa cc bbbb","aa cc","",RegexOptions.IgnoreCase | RegexOptions.IgnorePatterWhitespace);

Используйте оператор |.

Изменить:

Вы полностью ошиблись. RegexOption.IgnorePatterWhitespace игнорирует пробелы в регулярном выражении, чтобы вы могли:

string pattern = @"
^                # Beginning of The Line
\d+              # Match one to n number but at least one..
";

Однако вы считаете, что включение пробелов делает "aa cc bbbb" в "aaccbbbb", что, к счастью, неверно.

Ответ 4

Согласно MSDN:

Побитовая ИЛИ комбинация значений перечисления RegexOption.

Поэтому просто используйте OPT_A | OPT_B

Ответ 5

Вы можете иметь столько RegexOptions, сколько хотите, просто "ИЛИ" с "|".

Например...

RegexOptions.Compiled | RegexOptions.IgnoreCase