正则表达式验证出错-Java

正则表达式验证出错-Java,java,regex,Java,Regex,所以我有这行正则表达式来检查我的输入。有一个输入,因为else已激活,但我找不到它 Username: Donald Password: 1234 Name: Donald LastName: Muylle Phone: 012121212 Address: Zeverstreet 12 City: Gestel Job: Bar if(txtUsername.getText().matches("[a-zA-Z0-9]") && txtPassword.getText().m

所以我有这行正则表达式来检查我的输入。有一个输入,因为else已激活,但我找不到它

Username: Donald
Password: 1234
Name: Donald
LastName: Muylle
Phone: 012121212
Address: Zeverstreet 12
City: Gestel
Job: Bar

if(txtUsername.getText().matches("[a-zA-Z0-9]")
&& txtPassword.getText().matches("[a-zA-Z0-9]") &&
txtName.getText().matches("[a-zA-Z]") && 
txtLastName.getText().matches("[a-zA-Z]") && 
txtPhone.getText().matches("[0-9]") &&
txtAddress.getText().matches("[a-zA-Z0-9\\s]") && 
txtCity.getText().matches("[a-zA-Z]") && 
txtJob.getText().contains("[a-zA-Z]")){
    // Code
} else {
    // Shows Alert
}

您所要做的就是在所有字符类旁边添加
+
量词,例如

txtUsername.getText().matches("[a-zA-Z0-9]+")
                                          ^

因此,它将匹配列表中给定的一个或多个字符。如果没有
+
,它将只在matches方法必须检查整个字符串是否匹配的情况下匹配单个字符。因此,如果输入包含多个字符,这将以失败告终。

您只需在所有字符类旁边添加
+
量词,如

txtUsername.getText().matches("[a-zA-Z0-9]+")
                                          ^

因此,它将匹配列表中给定的一个或多个字符。如果没有
+
,它将只在matches方法必须检查整个字符串是否匹配的情况下匹配单个字符。因此,如果输入包含多个字符,这将以失败告终。

您只需在所有字符类旁边添加
+
量词,如

txtUsername.getText().matches("[a-zA-Z0-9]+")
                                          ^

因此,它将匹配列表中给定的一个或多个字符。如果没有
+
,它将只在matches方法必须检查整个字符串是否匹配的情况下匹配单个字符。因此,如果输入包含多个字符,这将以失败告终。

您只需在所有字符类旁边添加
+
量词,如

txtUsername.getText().matches("[a-zA-Z0-9]+")
                                          ^

因此,它将匹配列表中给定的一个或多个字符。如果没有
+
,它将只在matches方法必须检查整个字符串是否匹配的情况下匹配单个字符。因此,如果输入包含多个字符,这将以失败告终。

所有正则表达式只匹配1个字符的字符串。 在末尾添加一个+符号来修改它们

所以
[a-zA-Z0-9]
变成
[a-zA-Z0-9]+
[a-zA-Z]
变成
[a-zA-Z]+
等等


地址正则表达式
[a-zA-Z0-9\\s]
应该是
[a-zA-Z0-9\s]+
,只有一个斜杠所有正则表达式只匹配一个字符的字符串。 在末尾添加一个+符号来修改它们

所以
[a-zA-Z0-9]
变成
[a-zA-Z0-9]+
[a-zA-Z]
变成
[a-zA-Z]+
等等


地址正则表达式
[a-zA-Z0-9\\s]
应该是
[a-zA-Z0-9\s]+
,只有一个斜杠所有正则表达式只匹配一个字符的字符串。 在末尾添加一个+符号来修改它们

所以
[a-zA-Z0-9]
变成
[a-zA-Z0-9]+
[a-zA-Z]
变成
[a-zA-Z]+
等等


地址正则表达式
[a-zA-Z0-9\\s]
应该是
[a-zA-Z0-9\s]+
,只有一个斜杠所有正则表达式只匹配一个字符的字符串。 在末尾添加一个+符号来修改它们

所以
[a-zA-Z0-9]
变成
[a-zA-Z0-9]+
[a-zA-Z]
变成
[a-zA-Z]+
等等



地址正则表达式
[a-zA-Z0-9\\s]
应该是
[a-zA-Z0-9\s]+
,只有一个斜杠在上次检查中包含
。将其替换为上次检查中的
包含的
匹配项。将其替换为上次检查中的
包含的
匹配项。将其替换为上次检查中的
包含的
匹配项。出于某种奇怪的原因,将其替换为
匹配项

,仍然显示我的错误。它没有解决问题。谢谢。这是我自己做的一个错误按钮,上面写着“凭证填写不正确”。这似乎是由于程序的某个部分而不是正则表达式引起的错误。我已经调试了所有其他部分,并最终在正则表达式中结束,因为如果我在其他部分输入system.out.println('bla'),它就会出现,这让我注意到正则表达式是一个失败。我想我找到了它,最后的匹配是“包含”,而不是“匹配”。我是怎么得到的:D仍然感谢你的帮助!出于某种奇怪的原因,我仍然在显示我的错误。它没有解决问题。谢谢。这是我自己做的一个错误按钮,上面写着“凭证填写不正确”。这似乎是由于程序的某个部分而不是正则表达式引起的错误。我已经调试了所有其他部分,并最终在正则表达式中结束,因为如果我在其他部分输入system.out.println('bla'),它就会出现,这让我注意到正则表达式是一个失败。我想我找到了它,最后的匹配是“包含”,而不是“匹配”。我是怎么得到的:D仍然感谢你的帮助!出于某种奇怪的原因,我仍然在显示我的错误。它没有解决问题。谢谢。这是我自己做的一个错误按钮,上面写着“凭证填写不正确”。这似乎是由于程序的某个部分而不是正则表达式引起的错误。我已经调试了所有其他部分,并最终在正则表达式中结束,因为如果我在其他部分输入system.out.println('bla'),它就会出现,这让我注意到正则表达式是一个失败。我想我找到了它,最后的匹配是“包含”,而不是“匹配”。我是怎么得到的:D仍然感谢你的帮助!出于某种奇怪的原因,我仍然在显示我的错误。它没有解决问题。谢谢。这是我自己做的一个错误按钮,上面写着“凭证填写不正确”。这似乎是由于程序的某个部分而不是正则表达式引起的错误。我已经调试了所有其他部分,并最终在正则表达式中结束,因为如果我在其他部分输入system.out.println('bla'),它就会出现,这让我注意到正则表达式是一个失败。我想我找到了它,最后的匹配是“包含”,而不是“匹配”。我是怎么得到的:D仍然感谢你的帮助!出于某种奇怪的原因,我仍然在显示我的错误。它没有解决问题。谢谢。还有一个问题