java - 如何在java中分析一个字符串以确保它既有字母又有数字?

标签 java regex string if-statement comparison-operators

<分区>

我需要在JAVA中分析一个字符串,看它是否既有字母又有数字。所以这就是我到目前为止所拥有的。 变量 pass 是由用户输入的最多 8 个字符/数字的字符串。

if(pass.matches("[^A-Za-z0-9]"))

{

System.out.println("Valid"); 

}

else

{

   System.out.println("Invalid");

}

最佳答案

你的问题有点模棱两可。

如果您只想知道字符串是否包含字母或数字(但可能 字母或 数字)而没有其他内容,那么正则表达式:

pass.matches("^[a-zA-Z0-9]+$");

将返回 true。

如果你想检查它是否包含两者字母和数字,没有别的,那么它更复杂,但类似于:

pass.matches("^[a-zA-Z0-9]*(([a-zA-Z][0-9])|([0-9][a-zA-Z]))[a-zA-Z0-9]*$");

一切顺利

关于java - 如何在java中分析一个字符串以确保它既有字母又有数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16430684/

相关文章:

java - 双变量的宽度

java - 深度优先搜索父级、距离、完成Java问题

regex - 从 Unix 中的完整路径获取文件名

json - golang 格式数据一次性转换为 JSON 格式

python - Python 中的子字符串。内存中的副本?

arrays - 一个文本文件中的两个数组

java - 如何在OpenGL中将纹理加载到对象

Java 8 forEach 只适用于某些?

正则表达式直到括号第一次出现为止

c++ - Push_back 字符串在 vector 中的位置到 2d vector