C# 检查正则表达式中的字母、数字和下划线字符

C# 检查正则表达式中的字母、数字和下划线字符,c#,regex,C#,Regex,我试图检查字符串名称是否包含字母、数字和下划线字符 下面的代码没有成功,你知道我在这里错过了什么吗 var regex=new regex(@“^[a-zA-Z0-9]+$^\w+$” 另外,当我尝试使用以下代码时,我得到了一个解析错误“^[a-zA-Z0-9\\\\\\+$”-无法识别的转义序列\。 Var regex = new Regex(@"^[a-zA-Z0-9\_]+$"); 正则表达式应为: @"^[a-zA-Z0-9_]+$" 您不需要转义下划线。您还可以使用Regex.I

我试图检查字符串名称是否包含字母、数字和下划线字符 下面的代码没有成功,你知道我在这里错过了什么吗

var regex=new regex(@“^[a-zA-Z0-9]+$^\w+$”

另外,当我尝试使用以下代码时,我得到了一个解析错误

“^[a-zA-Z0-9\\\\\\+$”-无法识别的转义序列\。

Var regex = new Regex(@"^[a-zA-Z0-9\_]+$");
正则表达式应为:

@"^[a-zA-Z0-9_]+$"
您不需要转义下划线。您还可以使用Regex.Ignorecase选项,这将允许您同样使用
@“^[a-z0-9\]+$”

试试这个Regex

^[a-zA-Z0-9_-]$
^[a-zA-Z0-9_-]{m,n}$

Where
m is the start index
n is the end index
您也可以通过此正则表达式将名称与长度匹配

^[a-zA-Z0-9_-]$
^[a-zA-Z0-9_-]{m,n}$

Where
m is the start index
n is the end index

看看

为什么不干脆@ronsenfeld“^\w+$”,因为如果有unicode,它们也可能匹配<代码>\w实际上并不局限于
[a-zA-Z0-9.]
。这个链接的问题是关于
\d
,但是
\d
\w
类的一个子集,我不会提及字母的所有变体。谢谢。没有意识到匹配字符的池如此之大。我想大多数人在写字母和数字时都是指[a-z0-9],所以应该排除unicode。直到读到那个链接,我才意识到还有unicode数字值得关注。@RonRosenfeld是的,在看到我链接的那个问题之前,我也不知道。但我更喜欢严格遵守“常用”字母和数字,除非另有明确说明。