假设我有这个:
Regex.Replace("aa cc bbbb","aa cc","",RegexOptions.IgnoreCase);
但我也需要忽略空格。所以,我找到了一个选项IgnorePatternWhitespace
,但是如何在一个regex.Replace中添加几个选项呢?
类似的东西:
Regex.Replace("aa cc bbbb", "aa cc", "",
RegexOptions.IgnoreCase + RegexOptions.IgnorePatterWhitespace);
更新
感谢您的回答,但此选项似乎不起作用:这是一个测试示例:
Regex.Replace("aa cc bbbb", "aacc", "",
RegexOptions.IgnoreCase | RegexOptions.IgnorePatterWhitespace);
答案 0 :(得分:57)
Regex.Replace("aa cc bbbb",
"aa cc",
"",
RegexOptions.IgnoreCase | RegexOptions.IgnorePatterWhitespace);
答案 1 :(得分:11)
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"
,这是值得怀疑的。
答案 2 :(得分:7)
答案 3 :(得分:3)
您可以拥有任意数量的RegexOptions,只需将“OR”与“|”一起使用。
例如......
RegexOptions.Compiled | RegexOptions.IgnoreCase
答案 4 :(得分:2)
<强> IgnorePatternWhitespace 强>
从模式中消除未转义的空白区域并启用注释 标有#。但是,IgnorePatternWhitespace值不 影响或消除字符类中的空格。
这样:
string result = Regex.Replace("aa cc bbbb","aa|cc","",RegexOptions.IgnoreCase).Trim();