要匹配仅包含这些字符的字符串(或空字符串),请尝试
"^[a-zA-Z0-9_]*$"
这适用于.NET正则表达式,也可能适用于许多其他语言。
分解:
^ : start of string[ : beginning of character groupa-z : any lowercase letterA-Z : any uppercase letter0-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它的范围更广,并且将与其他类型的Unipre字符匹配(感谢Jan指出了这一点)。因此,如果您真的只想匹配那些字符,则最好使用显式(较长)形式。



