(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{6,10})$ 密码由数字和字母组成,不能含有符号的长度为6到10请高手们给我详细解释一下。
解决方案 »
- java的锁机制,到底都能锁住啥?
- 下载excel的问题
- 我们应否尊重不尊重编程的项目经理?
- 文件操作
- JAVA基础问题,请各位不吝赐教;在线等,又答案立即结贴
- 请教,BLOB类型字段存贮文件内容,如何从BLOB中获取文件类型?
- 一道java面试题
- 怎么由Socket向ServerSocket提交信息啊?
- 我想问问文件操作方面的问题,大侠赐教
- instanceof 内部实现机理??————————————————————————
- JAVA(TM)6 Update 16 怎么删除
- java.lang.NoSuchMethodError: main Exception in thread "main"
(?!^[a-zA-Z]*$):排除从头到尾都是字母的情况
^([a-zA-Z0-9]{6,10})$:字母和数字的组合,6-10位长度
(?!^[a-zA-Z]*$):排除从头到尾都是字母的情况,为什么又可以输入字母呢?
System.out.println("ddd".matches("(?!^[0-9]*$)"));//false
System.out.println("ddd".matches("(?!^[0-9]*$).*$"));//true
//因为上面那个是从开始到结束不能是数字的检验,因为已经到了字符串结束 所以匹配开始位置不会改变,
//,所以只匹配了开始位置,显然与整个字符串不匹配。所以只会有下面的匹配结果
while(m.find())
System.out.println(m.group()+"**");//匹配四次分别是 @所在位置 即 @d@d@d@
//其实上面的第一个@也就是^,最后一个也就是$.
//一下四个是等价的对于匹配""
System.out.println("".matches("(?:^)"));//匹配后面只有字符串开始
System.out.println("".matches("(?:$)"));//匹配$也就是字符串结束
System.out.println("".matches("(?:^$)"));//匹配开始后直接是结束
System.out.println("".matches("(?:)"));//匹配空
Matcher ma=Pattern.compile("(?:[0-9]*)").matcher("123");
while(ma.find())
System.out.println(ma.group()+"@@");
//结果
//123@@ 从开始匹配最多个数的数字
//@@ 这里也就是匹配了$,也就是0个数字
//开会去了。看能明白不?
即,对查找出来的子段的之前或之后有限制,但是这些限制并不会包含有查找出来的子段中例如:比如\b\w+(?=ing\b),匹配以ing结尾的单词的前面部分(除了ing以外的部分),如查找I'm singing while you're dancing.时,它会匹配sing和danc。
零宽断言分四种