^([a-zA-Z]*?)((?:[0-9]+(?:[0-9]|[a-zA-Z])*)*)$group 2 为空则是混合型,否则是纯字母型,match失败则两者都不是
解决方案 »
- javascript如何访问struts2 iterator标签的值
- 什么是工作流?
- 怎样将MySQL数据库备份恢复功能做到Web页面上
- 关于Struts二级联动菜单的一个问题,请大家帮助
- linux下,调用ssl的服务器端web services
- struts2上传文件为空 这是怎么回事儿
- 面试题我把它给抄下来了,请大家参考
- 大家EJB来开发都用什么啊,是CMP还是BMP啊!那个好啊,来者有分!
- 为何大家建议不要用JDBC.ODBC而是使用微软的驱动SQL Server 2000?
- hibernate连接数据库错误
- ActiveMQ阻塞问题
- mina iobuffer 问题求救 ............ 急 急 急 急 急
这个表达式为什么全数字的都能通过
全数字,则group2 不为空,从而起到判断的作用
这个表达式为什么全数字的都能通过
全数字,则group2 不为空,从而起到判断的作用我希望全数字的不能通过验证
这个表达式为什么全数字的都能通过
全数字,则group2 不为空,从而起到判断的作用我希望全数字的不能通过验证
那就改成:
^([a-zA-Z]*?)((?:[a-zA-Z]+[0-9]+(?:[0-9]|[a-zA-Z])*)|(?:[0-9]+[a-zA-Z]+(?:[0-9]|[a-zA-Z])*)*)$
这个表达式为什么全数字的都能通过
全数字,则group2 不为空,从而起到判断的作用我希望全数字的不能通过验证
那就改成:
^([a-zA-Z]*?)((?:[a-zA-Z]+[0-9]+(?:[0-9]|[a-zA-Z])*)|(?:[0-9]+[a-zA-Z]+(?:[0-9]|[a-zA-Z])*)*)$还是不能用啊
Scanner s=new Scanner(System.in);
String str=s.nextLine();
final String REGEX="^[a-z;]+$";
final String REGEX1="^[0-9;]+$";
final String REGEX2="^[a-z0-9;]+$";
Matcher m=Pattern.compile(REGEX, Pattern.CASE_INSENSITIVE).matcher(str);
if(m.find()){
System.out.println("纯英");
}else{
m=Pattern.compile(REGEX1, Pattern.CASE_INSENSITIVE).matcher(str);
if(m.find()){
System.out.println("不能为纯数字");
}else{
m=Pattern.compile(REGEX2, Pattern.CASE_INSENSITIVE).matcher(str);
if(m.find()){
System.out.println("英数混合");
}else{
System.out.println("不能有特殊字符");
}
}
}
我这个逻辑和正则是比较简单明了的,可能有高手写出正则能把纯数字和特殊字符算一种情况,这样少一个判断。