C# 什么是只允许字母、特殊字符和空格的正则表达式?

C# 什么是只允许字母、特殊字符和空格的正则表达式?,c#,C#,什么是只允许字母、特殊字符和空格的正则表达式 这是我当前的一个不起作用的: Regex r1 = new Regex("^[a-zA-Z~@#$^*()_+=[]{}|\\,.?: -]*$"); 让inputStr作为字母、数字和特殊字符的组合输入字符串 即 您将使用以下代码获得数字自由字符串: string result= Regex.Replace(inputStr,@"\d", ""); 这将从字符串中删除任何数字: string pattern = @"\d"; string s

什么是只允许字母、特殊字符和空格的正则表达式

这是我当前的一个不起作用的:

Regex r1 = new Regex("^[a-zA-Z~@#$^*()_+=[]{}|\\,.?: -]*$"); 

inputStr
作为字母、数字和特殊字符的组合输入字符串

您将使用以下代码获得数字自由字符串:

string result= Regex.Replace(inputStr,@"\d", "");

这将从字符串中删除任何数字:

string pattern = @"\d";
string str = "sjfk jsdkj f236470924824$^^*)()";
string output = Regex.Replace(str, pattern, "", RegexOptions.Singleline);
Console.WriteLine(output);
输出:

sjfk jsdkj f$^^*)()
sjfk jsdkj f
$^^*)()
sjfk jsdkj f
236470924824
$^^*)()
这将返回按数字分割的字符串列表,不包括数字:

string pattern2 = @"([^\d]+)";
MatchCollection ms= Regex.Matches(str, pattern2, RegexOptions.Singleline);
foreach(Match m in ms)
{
    Console.WriteLine(m.Value);
}
string pattern3 = @"([^\d]+)";
string[] strs= Regex.Split(str, pattern3, RegexOptions.Singleline);
foreach (string s in strs)
{
    Console.WriteLine(s);
}
输出:

sjfk jsdkj f$^^*)()
sjfk jsdkj f
$^^*)()
sjfk jsdkj f
236470924824
$^^*)()
这将返回按数字分割的字符串列表,包括数字:

string pattern2 = @"([^\d]+)";
MatchCollection ms= Regex.Matches(str, pattern2, RegexOptions.Singleline);
foreach(Match m in ms)
{
    Console.WriteLine(m.Value);
}
string pattern3 = @"([^\d]+)";
string[] strs= Regex.Split(str, pattern3, RegexOptions.Singleline);
foreach (string s in strs)
{
    Console.WriteLine(s);
}
输出:

sjfk jsdkj f$^^*)()
sjfk jsdkj f
$^^*)()
sjfk jsdkj f
236470924824
$^^*)()

你想包含什么
特殊字符
?我想包含的所有特殊字符。@unlucky你的表达式和链接是关于
javascript
,不是
c
不是很清楚。所以您想要除数字字符以外的所有字符?是的,不包括数字字符