1

我正在尝试用空格替换除字母、数字和一些特殊字符之外的所有字符。这是我正在使用的代码行:

documentText = Regex.Replace(documentText, @"^((?![a-zA-Z0-9%\-\@\$&']).*)$", " ");

它不起作用。我在这样的示例文本上对其进行了测试:

[]\^|+*(){} ~#%=/<>-!@$&_'",.?;:
this should stay

它删除了一切。

4

2 回答 2

3

使用以下正则表达式:

[^a-zA-Z0-9%\-@$&']

使用^反转字符类,这非常适合您正在寻找的内容,而无需使用负前瞻。

于 2012-10-25T18:57:34.170 回答
1

您正在搜索 .* 这意味着 0 个或更多任何字符....这就是它删除所有内容的原因。

于 2012-10-25T19:01:14.507 回答