0

我需要以下符号的任意组合的正则表达式(Regex.Match)

a-z
A-Z
0-9
()[]_-.

长度为 2 到 16 个符号。例子:

asdqwe23))
asd[-_]QWE
0(.)qwe[zz_-].

我试过这个

^[\w\d\r\n\d\[\]\(\)-_]{2,16}

但它不起作用,它允许 !@#$%^&* 符号在除第一个以外的任何地方。超过 17 个长度的字符串也返回 isSucsess true。

4

2 回答 2

3

使用这个正则表达式^[_a-zA-Z\d\[\]\(\)\-\.]{2,16}$

于 2013-04-29T13:48:00.733 回答
1

利用

var input = "asd[-_]QWE";
var result = Regex.Matches(input, @"^[A-Za-z0-9\(\)\[\]_\-\.]{2,16}$");
Console.WriteLine(result[0]);
于 2013-04-29T13:51:20.750 回答