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*$


<html>
<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 正则匹配字符是不是为纯数字

java中正则表达式如何使用?比如判断一个字符串是不是满足某种格式,给个详细点的例子

如何判断一个字符串中是不是都是数字

java 正则表达式 判断是不是是111,222,333的格式,而不能有其他字符

Java中怎样判断一个字符串是不是是数字?

正则表达式如何判断只能有数字和字母,并且至少一位