正则表达式其实就是一个针对字符串的约束规则。我是通过一个简单的需求来认识和学习正则表达式的。
需求:要求判断一个qq号是否合法,qq号的约束规则为:5-15位数字,不能以数字0开头,如果不使用正则表达式,我是这么实现的。
代码示例一:
public static void main(String[] args) {
checkQQ();
}
public static void checkQQ(){
String qq = "123a4";
if(qq.length()>=5 && qq.length()<=15){
if(!qq.startsWith("0")){
try{
long l = Long.parseLong("qq");
}catch(NumberFormatException e){
System.out.println("qq必须是数字");
}
}
else{
System.out.println("qq不能以0开头");
}
}
else{
System.out.println("qq长度不合法");
}
}
代码示例一种qq号是写死的,实际使用时是对用户输入的多种异常QQ号进行判断,这么写有点小复杂,下面代码示例二利用正则表达式的方式可以很简单的进行实现。
代码示例二:
public static void checkQQ1()
{
String qq = "12345";
String regex = "[1-9][0-9]{4,14}";
boolean flag = qq.matches(regex);
if(!flag){
System.out.println("QQ号不合法,必须为5-15位数字,不能以数字0开头");
}
}
以上我在学习正则表达式的一个入门。