我需要使用正则表达式消除特殊字符

时间:2014-08-26 06:52:18

标签: regex c#-4.0

我的应用程序支持多语言语言;但下面是我的代码,只允许英文字符

Regex.Match(inputstr, "[^a-z0-9]", RegexOptions.IgnoreCase);

我需要消除输入字符串中有任何特殊字符,并且应该允许其他语言普通字符(如日语汉字字符)

以下是我的代码对任何语言都不起作用请告诉我哪里出错了

if (Regex.IsMatch(txtInput.Text.Trim(), @"[^+^-^.^,^!^@^#^$^%^^^&^*^(^)^;^|^<^>^'^/^_^=^}^{^?^:^~^`^]"))
{
 //show error
}
else
{
//valid characters
}

1 个答案:

答案 0 :(得分:0)

您可以尝试使用以下正则表达式来匹配除空格之外的特殊字符。

(?:[^\w ]+|_+)

然后使用修剪功能修剪匹配的字符。