Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
密码验证问题的JAVA正则表达式_Java_Regex - Fatal编程技术网

密码验证问题的JAVA正则表达式

密码验证问题的JAVA正则表达式,java,regex,Java,Regex,我有一个用于密码验证的regexp( (带有额外的特殊字符) 这将返回false 然而,如果我说 "Xyz.123".matches(pattern); "Xyz.123$".matches(pattern); 这将返回true “.”在我的情况下不是有效的特殊字符。但是如果我的密码有一个有效的特殊字符和“.”,它将返回true您有\\S+,这意味着“任何非空格字符”。满足这一要求。您还需要$来满足第三个伪条件(lookahead)不在其中,但$在其中 编辑:如果您根本不想要任何句点,

我有一个用于密码验证的regexp( (带有额外的特殊字符)

这将返回
false

然而,如果我说

 "Xyz.123".matches(pattern);
  "Xyz.123$".matches(pattern);
这将返回
true


“.”在我的情况下不是有效的特殊字符。但是如果我的密码有一个有效的特殊字符和“.”,它将返回
true

您有
\\S+
,这意味着“任何非空格字符”。
满足这一要求。您还需要
$
来满足第三个伪条件(lookahead)<代码>不在其中,但
$
在其中


编辑:如果您根本不想要任何句点,出于好奇,将最后一个伪条件更改为
(?=[^\\s.]+$)

,从正则表达式末尾删除
$
。@destroy
$
不需要在字符组内转义,并且
^
只有在紧跟
[
我对正则表达式非常陌生。请您提供正则表达式或实际正则表达式中的更正。Thanks@Shoaib我不明白问题是什么。你不想允许句点吗?1.是的,我不想允许句点。@Shoaib将
(?=\\S+$)
更改为
(?=[^\S.]+$)
1.是的,我不想允许句点。2.如果用户在其密码中输入句点,则正则表达式与他的密码不匹配,并返回“FALSE”,这有助于我通知用户重新输入密码。3.但是,问题是,如果用户输入带有句点的密码,以及一些其他特殊字符(在我的正则表达式中允许),表示用户输入密码“Password@123.321“然后正则表达式与新密码匹配并返回TRUE。这不是预期的行为,因为我的正则表达式中没有句点。谢谢。”
  "Xyz.123$".matches(pattern);