正则表达式

什么是正则表达式?

符合一定规则的表达式

正则表达式的作用?

专门用于操作字符串

(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");
        }
    }
}
原文地址:https://www.cnblogs.com/exexex/p/8435618.html