求一个正则表达式,要求 数字,大写字母,小写字母,特殊字符 至少两种或两种以上组合的正则表达式。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一个正则表达式,要求 数字,大写字母,小写字母,特殊字符 至少两种或两种以上组合的正则表达式。相关的知识,希望对你有一定的参考价值。
1、新建java代码,TestRegexp.java;
2、编码java代码,定义正则表达式,并编写测试代码;
//非空格字符组成的字符串,数字,大写字母,小写字母,特殊字符至少有 两种
String regex_11 = "^(?![A-Z]*$)(?![a-z]*$)(?![0-9]*$)(?![^a-zA-Z0-9]*$)\\\\S+$";
//测试1
System.out.println("abc :" + "abc".matches(regex_11));
System.out.println("abc@! :" + "abc@!".matches(regex_11));
System.out.println("abcA012 :" + "abcA012".matches(regex_11));
System.out.println("123 :" + "123".matches(regex_11));
System.out.println("ABC:" + "ABC".matches(regex_11));
System.out.println("ABCabc:" + "ABCabc".matches(regex_11));
3、窗口右击,选择执行java代码;
4、以各样例场景进行测试,查看执行结果;
参考技术A ^(?![A-Z]+$)(?![a-z]+$)(?!\d+$)(?![\W_]+$)\S+$由非空格字符组成的字符串,数字,大写字母,小写字母,特殊字符至少有 两种,追问
java语言的 测试你的正则编译通过不了啊
追答import java.util.regex.*;
Pattern p = Pattern.compile("^(?![A-Z]*$)(?![a-z]*$)(?![0-9]*$)(?![^a-zA-Z0-9]*$)\\S+$");
JAVA中\ 要写成\\,如果不转义,除了得不到正确结果,也不至于编译不通过
确定提示是Pattern.compile这里出错了
恩 编译通过了,貌似没有匹配特殊字符啊,大神
本回答被提问者采纳js正则表达式的问题:要求一个字符串只能包含数字、大小写字母、“-”和“;”,而且结尾必须是“;”
按照你的要求,js正则表达式为 /^[0-9A-Za-z\\-;]+\\;$/g
我给你个结尾不是分号的javascript程序的例子,你看看吧
<html><head>
<script type=text/javascript>
var str='12345Aa-67890Bb;a';
var regex=/^[0-9A-Za-z\\-;]+\\;$/g
var a=regex.test(str);
alert(a);
</script>
</head>
<body>
</body>
</html>
运行结果
false
谢谢你。其实还要再加两个条件,你可以再看一下吗?
一,“-”和“;”不能在开头;
二,两个“-”或两个“;”不能连在一起,“-”和“;”也不能挨在一起。
按照你的要求,js正则表达式为 /^[^\\-;]((?!(\\-\\-)|(\\;\\;)|(\\-\\;)|(\\;\\-))[0-9A-Za-z\\-;])+\\;$/g
完整的javascript程序如下
<html><head>
<script type=text/javascript>
var str='12345Aa--67890Bb;';
var regex=/^[^\\-;]((?!(\\-\\-)|(\\;\\;)|(\\-\\;)|(\\;\\-))[0-9A-Za-z\\-;])+\\;$/g
var a=regex.test(str);
alert(a);
</script>
</head>
<body>
</body>
</html>
运行结果
false 因为有双减号
谢谢
参考技术A Matcher m=Pattern.compile("[A-Za-z0-9\-]*").matcher(text);允许空字符串就最后用*.不允许就+
以上是关于求一个正则表达式,要求 数字,大写字母,小写字母,特殊字符 至少两种或两种以上组合的正则表达式。的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式:要求6-20位,只能有大小写字母和数字,并且大小写字母和数字都要有。
js密码正则表达式:要求包含大小写字母、数字和特殊符号,8~16位
js密码正则表达式:要求包含大小写字母、数字和特殊符号,8~16位