C# 如何编写这个正则表达式?
我试图用空格替换除字母、数字和一些特殊字符以外的所有字符。这是我正在使用的代码行:C# 如何编写这个正则表达式?,c#,regex,replace,C#,Regex,Replace,我试图用空格替换除字母、数字和一些特殊字符以外的所有字符。这是我正在使用的代码行: documentText = Regex.Replace(documentText, @"^((?![a-zA-Z0-9%\-\@\$&']).*)$", " "); 它不起作用。我在如下示例文本上进行了测试: []\^|+*(){} ~#%=/<>-!@$&_'",.?;: this should stay []\^^ |+*(){}~#%=/-!@$&'",.?;: 这应该保持
documentText = Regex.Replace(documentText, @"^((?![a-zA-Z0-9%\-\@\$&']).*)$", " ");
它不起作用。我在如下示例文本上进行了测试:
[]\^|+*(){} ~#%=/<>-!@$&_'",.?;:
this should stay
[]\^^ |+*(){}~#%=/-!@$&'",.?;:
这应该保持下去
它会删除所有内容。使用以下正则表达式:
[^a-zA-Z0-9%\-@$&']
使用
^
反转字符类,这非常适合您所查找的字符,而无需使用负前瞻。使用以下正则表达式:
[^a-zA-Z0-9%\-@$&']
使用
^
反转字符类,它非常适合您正在查找的字符,而无需使用负向前看。您正在搜索。*这意味着任何字符的0个或多个…这就是它删除所有字符的原因。您正在搜索的。*这意味着任何字符的0个或多个…这就是它删除所有字符的原因g