【发布时间】:2015-11-23 13:28:46
【问题描述】:
我正在尝试使用命名空间 System.Text.RegularExpressions 下的正则表达式验证密码字段,但我收到三个错误
'无法识别的转义序列'。
当我双击错误时,它会在我的字符范围表达式中突出显示“-”,但我不知道为什么这是错误的。
//密码必须包含一个大写,一个小写和一个数字
Regex reg = new Regex("^(?=.*[!@#$%^&*()\-_=+`~\[\]{}?|])(?=.+[a-z])(?=.+[A-Z])(? =.+[0-9]).{8,50}$");
【问题讨论】:
-
您在正则表达式文字之前缺少
@。 -
你应该转义 \ 字符。
-
为什么要指定密码的最大长度?请不要那样做。
-
重复谈论路径,但它是相同的 \ 字符/缺少 @ 导致问题。
-
好像
(? =.+[0-9]).{8,50}后面有一个空格?不应该是
标签: c# .net regex validation