为什么这个正则表达式不起作用?
Console.WriteLine(Regex.IsMatch(password, "(?!^[a-zA-Z]*$)"));正如你所看到的,表达式包含负向前看,所以基本上,如果字符串以字母开头和结尾,它应该拒绝它。但无论我输入什么,我总是正确的。为什么会发生这种情况?
发布于 2011-08-23 15:41:07
正则表达式不匹配任何内容,后面不是纯字母数字字符串。所以每一个输入都与之匹配。请记住,先行并不是匹配的一部分-它只是一个条件。
使用此选项可匹配所有不以字母数字开头或结尾的输入:
"^[^a-z](.*[^a-z])?$"https://stackoverflow.com/questions/7157665
复制相似问题