什么是正则表达式?
符合一定规则的表达式
正则表达式的作用?
专门用于操作字符串
(sting的方法太复杂,代码多)
string方法解决1
package songyan; /* * 对qq号校验 * 要求: * 5-15位(长度) * 0不能开头(startswith) * 只能拿是数字(array isdigit) * */ public class test{ public static void main(String[] args) { String qq="66666s"; boolean flag=true; char[] arr=qq.toCharArray(); if(qq.length()>=5&&qq.length()<=15) { if(!qq.startsWith("0")) { for(char c : arr) { if(!(c>'0'&&c<'9')) { flag= false; break; } } if(flag) { System.out.println("qq:"+qq); } else{ System.out.println("error"); } } else { System.out.println("不能以0开头"); } } else{ System.out.println("长度错误"); } } }
string方法解决2
package songyan; /* * 对qq号校验 * 要求: * 5-15位(长度) * 0不能开头(startswith) * 只能拿是数字(array isdigit) * */ public class test{ public static void main(String[] args) { String qq="010085"; try { Long.parseLong(qq); if(qq.length()>=5&&qq.length()<=15) { if(!qq.startsWith("0")) { System.out.println("qq:"+qq); } else{ System.out.println("不能以0开头"); } } else { System.out.println("长度错误"); } } catch(NumberFormatException e) { System.out.println("出现非法字符"); } } }
正则写法
package songyan; public class test{ public static void main(String[] args) { String qq= "9j048"; String format= "[1-9][0-9]{4,14}"; boolean flag = qq.matches(format); if(flag) { System.out.println("qq:"+qq); } else { System.out.println("error"); } } }