如何合并2个简单的RegEx?

时间:2012-11-27 08:17:24

标签: c# .net regex

我有以下C#代码用空格替换.&{39}和+'

string MyString = "this.is.just+an++example--here!are$more characters";
MessageBox.Show(Regex.Replace(MyString, @"[\.\+]", " "));

有时这可能会导致空格过多(例如,在anexample之间)。

我如何将以下RegEx添加到现有的RegEx中,因此只有一个RegEx呼叫?

Regex.Replace(MyString, @"[ ]{2,}", " ");

这将删除多余的空格。所有其他角色应保持不变。

欢迎任何替代解决方案!

2 个答案:

答案 0 :(得分:2)

也许你应该首先匹配多个角色。将正则表达式更改为"[\.\+]+"以匹配一个或多个.+个符号。例如,"a...++b"会产生"a b"

MessageBox.Show(Regex.Replace(MyString, @"[\.\+]+", " "));

答案 1 :(得分:2)

你应该试试这个。如果它在字符类

中,则不需要转义.
[.\+]+|[ ]{2,}