Regular expression for alphanumeric and underscores

25 浏览
0 Comments

Regular expression for alphanumeric and underscores

是否有一个正则表达式,可以检查一个字符串是否只包含大小写字母、数字和下划线?

admin 更改状态以发布 2023年5月21日
0
0 Comments

这里有很多冗长的内容,我对此非常不赞同,所以我的最终答案是:

/^\w+$/

\w等效于[A-Za-z0-9_],这很符合你的需求(除非我们将Unicode引入其中)。

使用+量词可匹配一个或多个字符。如果还想匹配空字符串,请换用*

0
0 Comments

要匹配只包含这些字符的字符串(或空字符串),请尝试

"^[a-zA-Z0-9_]*$"

这对于.NET正则表达式以及许多其他语言都有效。

分解:

^ : start of string
[ : beginning of character group
a-z : any lowercase letter
A-Z : any uppercase letter
0-9 : any digit
_ : underscore
] : end of character group
* : zero or more of the given characters
$ : end of string

如果您不想允许空字符串,请使用+而不是*


正如其他人指出的那样,某些正则表达式语言具有[a-zA-Z0-9_]的简写形式。在.NET正则表达式语言中,您可以打开ECMAScript行为并使用\w作为简写(产生^\w*$^\w+$)。请注意,在其他语言中,默认情况下.NET中,\w范围较广,将匹配其他类型的Unicode字符(感谢Jan指出这一点)。因此,如果您真的打算匹配这些字符,则使用显式(更长)形式可能是最好的。

0