C# 抛出异常(太多)';正则表达式中的s替换c中的字符串#

C# 抛出异常(太多)';正则表达式中的s替换c中的字符串#,c#,regex,exception,C#,Regex,Exception,以下代码在c中的正则表达式替换字符串中引发异常,声明too many')# Regex r3=newregex(@“([(=)!@$%^&?/”;:\~`]+)//人物 var匹配=r3.匹配(输入); if(match.Success)//个字符 { 字符串ch=match.Groups[1]。值; z=z+ch; textBox4.Text=z; 字符串j=Regex.replace(输入,ch,“”); Show(“字符串已变成”,j); 输入=j; } 当输入包含(或)时,会引发所述异

以下代码在c中的正则表达式替换字符串中引发异常,声明
too many')#

Regex r3=newregex(@“([(=)!@$%^&?/”;:\~`]+)//人物
var匹配=r3.匹配(输入);
if(match.Success)//个字符
{
字符串ch=match.Groups[1]。值;
z=z+ch;
textBox4.Text=z;
字符串j=Regex.replace(输入,ch,“”);
Show(“字符串已变成”,j);
输入=j;
}
当输入包含
时,会引发所述异常

,问题是:

string j = Regex.replace(input,ch , "");
ch
包含您遇到问题的括号

您的代码可以简化为重用
Regex

string j = r3.Replace(input, "");
您也可以在这里使用一个简单的字符串替换

input.Replace(ch, "");

如果绝对必须使用static
Regex.Replace
,请首先对
ch
变量中的所有
Regex
特殊字符进行转义。

只需将其更改为[(=)!@$%^&?/':\~`+,即可工作

当你得到这个错误?
input.Replace(ch, "");