Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 我需要使用正则表达式消除特殊字符_Regex_C# 4.0 - Fatal编程技术网

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

Regex 我需要使用正则表达式消除特殊字符,regex,c#-4.0,Regex,C# 4.0,我的应用程序支持多种语言;但下面是我的代码,它只允许英文字符 Regex.Match(inputstr, "[^a-z0-9]", RegexOptions.IgnoreCase); 我需要消除输入字符串中的任何特殊字符,它应该允许使用其他语言的普通字符(如日语汉字字符) 下面是我的代码不适用于任何语言,请让我知道我在哪里犯了错误 if (Regex.IsMatch(txtInput.Text.Trim(), @"[^+^-^.^,^!^@^#^$^%^^^&^*^(^)^;^|^&l

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

Regex.Match(inputstr, "[^a-z0-9]", RegexOptions.IgnoreCase);
我需要消除输入字符串中的任何特殊字符,它应该允许使用其他语言的普通字符(如日语汉字字符)

下面是我的代码不适用于任何语言,请让我知道我在哪里犯了错误

if (Regex.IsMatch(txtInput.Text.Trim(), @"[^+^-^.^,^!^@^#^$^%^^^&^*^(^)^;^|^<^>^'^/^_^=^}^{^?^:^~^`^]"))
{
 //show error
}
else
{
//valid characters
}
if(Regex.IsMatch(txtInput.Text.Trim(),@“[^+^-^.^,^!^^^^^^^^^^-^%^^^^^^&^^^^^(^)^;^^^^^^^^^/^^^^=^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
{
//显示错误
}
其他的
{
//有效字符
}

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

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

然后使用trim函数修剪匹配的字符。

@AvinashRaj这是您的建议吗?请让我知道Regex.IsMatch(txtInput.Text.trim(),@“[^+^-^.^,^!^^-^^^^%^^^^&^^^^^^^^^/^^^=^^^^^^^^^^^:^^^^-^++>,如果您想匹配一个或多个非单词字符,可以简单地使用
[\W]+
@AvinashRaj完善你的代码!但它也排除了空格字符:(我需要在单词之间留出空格,怎么做?试试这个
(?:[^\w]+\u124;+)
。让我知道它是否有效。太棒了!!适合我!!!我也试过[^\w\s]+它按预期工作!!!哪一个好用…下划线包含在\w中,因此不确定您为什么要添加它作为与
@funkurm的替代匹配项。他希望匹配特殊字符..即,
\u
包含..而在char类中
[^\w]
,这与下划线符号不匹配。啊,这是一个负字符类,我的错。