java或者正则表达式如何判断字符串不是相同数字或者字母?不能全是连续数字?(最好是java)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java或者正则表达式如何判断字符串不是相同数字或者字母?不能全是连续数字?(最好是java)相关的知识,希望对你有一定的参考价值。
1.不能全是相同的数字或者字母(如:000000、111111、222222、333333等等)
2.不能是连续数字(如:123456、12345678、87654321等等)
判断是否全同的数字字母可以用正则,连续数字这个正则就不是很擅长了。
不会java,以下是用js做的第一个正则,你可以把正则拿出来到java里用。
^([0-9a-zA-Z])\\1+$ 这个对于一个字母是认为不全同的,如果你要把一个字母也认为全同则用
^([0-9a-zA-Z])\\1*$
<head>
<!--
保存为 html 文件,浏览器允许运行脚本进行测试。
-->
<script type="text/javascript">
function check()
var str;
str = document.getElementById("txtInput").value;
if (str.match(/^([0-9a-zA-Z])\\1*$/) != null)
alert("全部相同的数字或字母");
else
alert("不全相同");
</script>
</head>
<body>
输入:<input type="text" id="txtInput" value="00000" />
<button type="button" onclick="check()">正则检查</button>
</form>
</body>
</html> 参考技术A 用java做 简单,代码如下:
public class Test
private static String s = "ABC";
private static String str = "876";
private static boolean isSameCharacter(String s)
//如果不区分大小写,可以添加下面这句
//s = s.toUpperCase();或者 s = s.toLowerCase();
String character = s.substring(0,1);
String replace = "";
String test = s.replace(character, replace);
if("".equals(test))
return true;
return false;
private static boolean isContinuityCharacter(String s)
boolean continuity = true;
char[] data = s.toCharArray();
for(int i=0; i<data.length-1; i++)
int a = Integer.parseInt(data[i]+"");
int b = Integer.parseInt(data[i+1]+"");
continuity = continuity && (a+1 == b || a-1 == b);
return continuity;
public static void main(String[] argv)
System.err.println(isSameCharacter(s));
System.err.println(isContinuityCharacter(str));
本回答被提问者采纳 参考技术B 正则不是万能的,你这个应该是用正则加程序来实现
首先判断是否是数字可以用 "\d+" 这个正则表达式来判断
其次,再用for循环来判断是相同,还是连续
java怎么判断一个字符串是不是是数字
参考技术A 如果只是判断,可与用integer.parseint(string)如果是数字,就没有异常,如果有异常,就不是数字或者用正则表达式
return
string.matches("\\d+\\.?\\d*"));
这个语句就是用来判断的
\\d+表示一个或者多个数字
\\.?
表示一个或这没有小数点
\\d
*
表示0个或者多个数字
以上是关于java或者正则表达式如何判断字符串不是相同数字或者字母?不能全是连续数字?(最好是java)的主要内容,如果未能解决你的问题,请参考以下文章
java中正则表达式如何使用?比如判断一个字符串是不是满足某种格式,给个详细点的例子