我根据各种功能获得密码,但我不相信我的RegEx是正确的:
If Regex.IsMatch(password, "/\d+/", RegexOptions.ECMAScript) Then
'Contains a number
score += 1
End If
If Regex.IsMatch(password, "/[a-z]/", RegexOptions.ECMAScript) Then
'Contains a lowercase letter
score += 1
End If
If Regex.IsMatch(password, "/[A-Z]/", RegexOptions.ECMAScript) Then
'Contains an uppercase letter
score += 1
End If
If Regex.IsMatch(password, "/.[!,@,#,$,%,^,&,*,?,_,~,-,£,(,)]/", RegexOptions.ECMAScript) Then
'Contains special character
score += 2
End If
我该如何解决这个问题?我相信它们的格式是C#而不是VB.NET。
答案 0 :(得分:1)
.Net Regex类采用正则表达式的原始文本。
你不应该用/
字符包裹它;这些只是匹配文字/
。
其他一些说明:
RegexOptions.ECMAScript
Regex
实例,而不是每次都重新解析每个正则表达式,可以使它们更快。