Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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
C# 正则表达式排除除字母以外的所有字符_C#_Regex - Fatal编程技术网

C# 正则表达式排除除字母以外的所有字符

C# 正则表达式排除除字母以外的所有字符,c#,regex,C#,Regex,我是一个真正的regex n00b,因此我请求您的帮助: 我需要一个正则表达式,它只匹配字母和数字,不匹配穿孔、非ascii字符和空格 “ilikestackoverflow2012”将是有效字符串 “f###you°§”无效 “你好世界”“无效” “你好世界”和“*你好世界*”无效 等等 我需要它使一个可能复杂的企业名称url友好 提前谢谢 试试看 ^[a-zA-Z0-9]+$ 是一个很好的资源。要验证字符串,可以将以下正则表达式与Regex.IsMatch一起使用: "^[0-9A-Za-

我是一个真正的regex n00b,因此我请求您的帮助: 我需要一个正则表达式,它只匹配字母和数字,不匹配穿孔、非ascii字符和空格

“ilikestackoverflow2012”将是有效字符串

f###you°§”无效

你好世界”“无效”

你好世界”和“*你好世界*”无效

等等

我需要它使一个可能复杂的企业名称url友好

提前谢谢

试试看

^[a-zA-Z0-9]+$

是一个很好的资源。

要验证字符串,可以将以下正则表达式与
Regex.IsMatch一起使用:

"^[0-9A-Za-z]+$"
说明:

  • ^
    是字符串的开头
  • […]
    是一个
  • +
    表示一个或多个
  • $
    是字符串结束锚

我需要它使一个可能复杂的企业名称url友好

然后要替换不匹配的字符。使用
Regex。用以下正则表达式替换

"[^0-9A-Za-z]+"
说明:

  • [^…]
    是一个否定字符类
代码:

在线查看它的工作情况:


请注意,不同的业务名称可能会给出相同的结果字符串。例如,名称仅包含中文字符的企业都会给出空字符串

^[0-9a-zA-Z]+$

匹配一个或多个不带空格或非字母字符的字母数字字符。

您可以使用下面的正则表达式


^[a-zA-Z0-9]+$
[:alnum:][/code>有什么问题?这是posix标准。所以您的整个正则表达式将是:
^[:alnum::+$


包含大量的示例和详细信息。

这不需要正则表达式

string s = "......"
var isValid = s.All(Char.IsLetterOrDigit);
-

我需要它使一个可能复杂的企业名称url友好

您还可以使用
HttpUtility.UrlEncode

var urlFriendlyString = HttpUtility.UrlEncode(yourString);
试试这个:

var regex = new Regex(@"^[a-zA-Z0-9]+$");
var test = new[] {"ilikestack", "hello world", "hello-world", "###"};

foreach (var s in test)
   Console.WriteLine("{0}: {1}", s, regex.IsMatch(s));
编辑:如果你想要像@Andre_Miller所说的那样,你应该使用与regex.Replace()相同的正则表达式


在我看来,对于你的应用程序来说,你不只是想要一个正则表达式来告诉你输入是否匹配,而是想要过滤输入并得到更友好的东西?他可能在使用RegularExpressionValidator谢谢!我错过了。更正了答案。这篇文章对我的帮助比我要求的要多。这正是我必须要做的。
var regex = new Regex(@"^[a-zA-Z0-9]+$");
var test = new[] {"ilikestack", "hello world", "hello-world", "###"};

foreach (var s in test)
   Console.WriteLine("{0}: {1}", s, regex.IsMatch(s));
Regex.Replace(s, @"[^a-zA-Z0-9]+", "")
var regex = new Regex(@"^[a-zA-Z0-9]+$");
regex.Replace("input-string-@#$@#");